1、增
语法:insert into 表 (列名,列名...) values (值,值...)
# 插入单条数据
insert into 表 (列名,列名...) values (值,值...)
# 插入多条数据
insert into 表 (列名,列名...) values (值,值...),(值,值...)
# 插入另一条语句的查询结果 insert into 表 (列名,列名...) select 列名,... from 表
2、删
语法:delete from 表
delete from 表; delete from 表 where id=1;
3、改
语法:update 表 set name = ‘nick‘ where id>1
update 表 set name = ‘nick‘ where id>1
4、查
语法:select * from 表
select * from 表 select * from 表 where id > 1 select nid,name,gender as gg from 表 where id > 1 # as 做别名
5、条件
语法:select * from 表 where id > 1
select * from 表 where id > 1 and name != ‘nick‘ and num = 12; # 多个条件 select * from 表 where id between 5 and 16; # id在5到16之间 select * from 表 where id in (11,22,33); # id在元祖中 select * from 表 where id not in (11,22,33); # id不在元祖中 select * from 表 where id in (select nid from 表); # id在查询结果中
6、通配符
语法:select * from 表 where name like ‘_n%‘
select * from 表 where name like ‘ni%‘ # ni开头的所有(多个字符串) select * from 表 where name like ‘s_‘ # s开头的所有(一个字符)
7、限制
语法:select * from 表 limit 9,5;
select * from 表 limit 5; # 前5行
select * from 表 limit 9,5; # 从第9行开始的5行
select * from 表 limit 5 offset 9 # 从第9行开始的5行
8、排序
语法:select * from 表 order by 列1 desc,列2 asc
select * from 表 order by 列 asc # 根据 “列” 从小到大排列
select * from 表 order by 列 desc # 根据 “列” 从大到小排列
select * from 表 order by 列1 desc,列2 asc # 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序
9、分组
语法:select num from 表 group by num
select num from 表 group by num # 根据num分组
select num,nid from 表 group by num,nid # 根据num和nid分组
select num,nid from 表 where nid > 10 group by num,nid order nid desc
select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid # 内置函数
select num from 表 group by num having max(id) > 10 # 前面计算的结果交由后面处理
注:group by 必须在where之后,order by之前
count(*)、count(1) # 表示个数
sum(score) # 表示和
max(score) # 表示最大数
min(score) # 表示最小数
having # 要用前面处理结果是用having。
10、连表
语法:inner join . on
、left join . on
、right join . on
无对应关系则不显示
select A.num, A.name, B.name
from A,B
Where A.nid = B.nid
无对应关系则不显示
select A.num, A.name, B.name
from A inner join B
on A.nid = B.nid
A表所有显示,如果B中无对应关系,则值为null
select A.num, A.name, B.name
from A left join B
on A.nid = B.nid
B表所有显示,如果B中无对应关系,则值为null
select A.num, A.name, B.name
from A right join B
on A.nid = B.nid
11、组合
语法:union、union all 组合,自动处理重合 select nickname from A union select name from B 组合,不处理重合 select nickname from A union all select name from B
参考:https://www.cnblogs.com/suoning/articles/5769141.html