insert into <表名> values(值1,值2,值3...);
insert into <表名>[(字段1,字段2,字段3,...)] values(值1,值2,值3...);
insert into <表名> <子查詢>;
用法與insert基本相同,如:replace into <表名> values(值1,值2,值3...);
,不一樣的是若是發現表中已經有此行數據(根據主鍵或者惟一索引判斷)則先刪除此行數據,而後插入新的數據。不然,直接插入新數據。
注意:由於要根據主鍵或者是惟一索引判斷是否有重複數據,因此操做的表必需要有主鍵或者是惟一索引。不然的話,replace into 會直接插入數據。數據庫
delete from <表名> [where condition];
delete from <表名> where 字段=<子查詢>;
truncate table <表名>;
update <表名> set 字段1=值1,字段2=值2... [where condition];
update <表名> set 字段1=值1,字段2=值2... where 字段=<子查詢>;
select [distinct] <字段名或表達式>[,<字段名或表達式>] from <表名或視圖名>[,<表名或視圖名>] [where <條件表達式>] [group by <字段名>[having <條件表達式>]] [order by<字段名>[asc|desc]] [limit [start,]count]
這個關鍵字來過濾掉多餘的重複記錄只保留一條,但每每只用它來返回不重複記錄的條數,而不是用它來返回不重記錄的全部值。其緣由是distinct只能返回它的目標字段,而沒法返回其它字段函數
1.關係表達式查詢
關係運算符:=(等於)、>(大於)、<(小於)、>=(大於等於)、<=(小於等於)、!=或<>(不等於)
eg:select name from user where id>10;
code
2.邏輯表達式查詢
邏輯運算符(優先級從高到低):not、and、or
eg:select * from user where name='simu' and age=20;
對象
3.設置取值範圍的查詢
謂詞:between ... and ... 或 not between ... and ...
eg:select * from user where id between 10 and 20;
排序
4.空值查詢
謂詞:is null 或 is not null
eg:select * from user where id is null;
索引
5.模糊查詢
SQL通配符:
一、%:表明任意多個字符。
二、_(下劃線):表明任意一個字符。
謂詞:like 或 not like
eg:select * from user where name like 'simu';
it
聚合函數io
SUM():返回某列全部值的總和 AVG():返回某列的平均值 MAX():返回某列的最大值 MIN():返回某列的最小值 COUNT():返回某列的行數
group by 子句:將根據所指定的列對結果集中的行進行分組。
having 子句:以組爲對象進行篩選。
eg:select role count(*) as 總數 from user group by role having count(*)>0
table
根據查詢結果中的一個或多個字段對查詢結果進行排序。默認升序asc;
eg:select name,money from user order by money desc;
date
從結果集中進一步選取指定數量的數量,默認值爲0,即第1行數據爲0。
eg:select name,money from user order by money desc limit 5;