sql常用語句

2021-10-19 18:36:12 字數 3980 閱讀 6336

此部落格記錄一下sql語句的簡單使用,使用的時候都是使用xutils自帶的資料庫,現在長時間不使用已經有些遺忘。

注意事項:

not null - 每一行都必須含有值(不能為空),null 值是不允許的

default value - 設定預設值

unsigned - 使用無符號數值型別,0 及正數

auto increment - 設定 mysql欄位的值在新增記錄時每次自動增長 1

primary key - 設定資料表中每條記錄的唯一標識。 通常列的 primary key設定為 id 數值,與 auto_increment 一起使用

string sql = "create table user(id integer(6) primary key autoincrement,name varchar(30) not null,age integer(30) not null ,email varchar(50),date timestamp)";
select column_name,column_name

from table_name;

select * from user //用於讀取user表中所有資料
select id,name from user//讀取user表中的id與name欄位
select distinct name from user  //查詢user表中name不同的值
select column_name,column_name

from table_name

where column_name operator value;

比較運算子:= > < >= ,<=, !=,<> 表示(不等於)

邏輯運算子:and,or,not (優先順序:not > and> or)

特殊條件:

1.空值判斷: is null

2.between and (在 之間的值)

3.in

4.like(模糊查詢)

select * from user where id = 2 //查詢user表中id為2的資料
select * from user where name = '小明'  //查詢user表中name為小明的資料
注意:sql 使用單引號來包括文字值,如果是數值字段,不需要使用引號

select * from user where name = '小明' and id = 2  //查詢user表中name為小明且id為2的資料
select * from user where name = '小明' or id > 3  //查詢user表中name為小明或者id>3的資料(滿足其中乙個條件即可)
select * from user where not id > 3  //查詢user表中id小於等於3的資料
select * from user where name is null //查詢user表中name為空的資料
select * from user where id between 3 and 5 //查詢user表中id位於3-5之間的資料(包含3不包含5)
select * from user where id in (2,3)   //查詢user表中id為3和5的資料
select * from user where name like '小%'  //查詢user表中name為『小』開頭的資料
select id from user where 1  //查詢user表中id中所有資料,1 會轉化為true
select id from user where 0  //返回乙個空集,0 會轉化為false
select column_name,column_name

from table_name

order by column_name,column_name asc|desc;

select * from user order by id desc //對user表中的id欄位進行降序排序
select * from user order by id asc //對user表中的id欄位進行公升序排序
select * from user order by id,name desc   //對user表中的id欄位與name欄位進行排序
select * from user order by id desc,name asc  //對user表中的id欄位先進行降序排序,然後name欄位進行公升序排序
注意:多列的時候會按照第乙個column name排序,在按照第二個column name排序

無需指定要插入資料的列名,只需提供被插入的值即可

insert into table_name

values (value1,value2,value3,...);

需要指定列名及被插入的值

insert into table_name (column1,column2,column3,...)

values (value1,value2,value3,...);

insert into user values (5,'小明')    //插入id為5,name為小明的資料
insert into user (id,name) values (6,'小棟')  //插入id為6,name為小棟的資料
update table_name

set column1=value1,column2=value2,...

where some_column=some_value;

update user set name = '小明' where id = 1  //將id為1資料中name更改為小明
注意:一定要注意where子句,否則會將所有name都更改為』小明』

delete from table_name

where some_column=some_value;

delete from user where id = 2  //刪除表中id為2的這一行資料
alter table table_name add column_name datatype
alter table user add phone varchar(13)   //在user表中新增型別為varchar型別的phone欄位
alter table user alter column name interger  //修改user表中name的資料型別為int
alter table user drop column  name //刪除user表中的name欄位
注意:sql暫時不支援直接修改字段,執行修改與刪除會編譯不通過,解決辦法有:

在表中新增乙個字段,使用新字段

將原表改為另外乙個名字作為暫存表

暫時寫到這裡,後續有需求再進行補充。

sql常用語句

use myoa select from delete from department where departmentid 1 insert department departmentid,departmentname values 1,技術部 update department set depa...

sql常用語句

在sqlserver,簡單的組合sp spaceused和sp msforeachtable這兩個儲存過程,可以方便的統計出使用者 資料表的大小,包括記錄總數和空間占用情況,非常實用,在sqlserver2k和sqlserver2005中都測試通過。1.exec sp spaceused 表名 sq...

sql常用語句

第一種 行列互換思想,外層group by,使用case when then 我有乙個表,有兩個字段 收費專案 唯一值 收費金額。我想用sql按收費專案不同生成不同的字段,對應值是金額。如 房租 100 水電費 50 雜費 50 生成後的格式是 房租 水電費 雜費 100 50 50 請問,如何寫這...