查詢
select * from tana
column as 別名 或 column 別名
select id as ID, name NAME from tana
只查詢某一段 limit 5,20 第一個參數是從幾行開始檢索,第二個參數是結果行數。一般分頁都是這么處理的
select * from tana limit 5,20
where 子句 <> 不等于,between 在某個范圍內, not between 不在范圍類。 AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。
where column > < >= <= <> (not | between id = 5 and id =10) LIKE
只查詢某個范圍where age between 20 and 25 等價于 where age >=20 and age <=25
select * from tana where age between 20 and 25
多條件查詢 in 等價于 name = 'drip' or name = 'drip2' (盡量不要用in(不能用索引),數據越多效率越低)
selsct * from tana where name in ('drip','drip2')
按條件查詢 where。 and 同時滿足。 or 滿足任意一個
select * from tana where name = 'drip' and age = 20 or name = 'drip2'
基本函數 avg(id)平均值。 sum(id)求和。 max(id)最大值, min(id) 最小值,count(id)總數。
select avg(id),sum(id),max(id),min(id),count(id) from tana where tana
模糊查詢 like '%d%' 查詢內容包含有d的結果。 ‘%d’d結尾的數據。 'd%'d開頭的數據。'_d' 值為?d的結果??山Y合使用。 ‘_r%d’ 比如 drip,?r???d。 not like 表示不包含。 通配符 % _ [] [!]
select * from tana where name like '%d%' |
排序 order by id asc 或 desc (默認asc升序) 當多個參數時,當第一個參數相同時,按第二個參數排序。以此類推。
select * from tana order by id asc, name desc
分組 group by sex 。 按sex分組。獲取男女總數。 一般配合聚合函數使用。
select sex,count(id) from tana group by sex
多表查詢 inner,只返回滿足條件的結果。 left以左表為基礎,返回滿足條件的結果(左表行全部返回,左表有,右表沒有,則右表列顯示為null)。 right, (以右表為基礎,返回滿足條件的結果(右表行全部返回,右表有,左表沒有,則左表列顯示為null)。
select * from bana1 left join bana2 on bana1.id = bana2.b1id
多個結果集組合(兩個表的列數量要相同,類型也要相同) union(會刪除數據相同的行) , union all,(結果是前10行和后10行1 2 3...10 20 19 18...11);
SELECT * FROM tana limit 10 union all (SELECT * FROM tana order by id desc limit 10)
is null 和 is not null;
獲取字段不為空的數據 is null; is not null
SELECT * FROM tana where name is not null
插入
INSERT INTO 表名稱 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
更新
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
update base_user set name = 'drip' where id = '1';
刪除
DELETE FROM 表名稱 WHERE 列名稱 = 值