此部落格記錄一下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 請問,如何寫這...