- 增
insert into 表 (name,age) values(“小黄”,18);
insert into 表(name,age) values (“小黄”,18),(“小红”,20);
insert into 表1 (name,age) select name,age from 表2;
2.删
delete from 表 where id=2;
delete from 表 where id!=2;
delete from表 where id>2 and name=“小黄”;
delete from表 where id>2 or name=“小黄”;
- 改
update 表 set name=“小绿” where id=2 and name=“小红”;
update 表 set name=“小绿”,age=21 where id >10 or name=“小红”;
- 查
select * from 表 ;
select id,name from 表 where id>10 and age!=19;
select id,name as cname from tb1 where id>10 and age!=19;
select id from tb1 where id!=12;
select id from tb1 where id in(1,3,5);
select id from tb1 where id in (select id from tb2);
select id from tb1 where id not in(2,4);
select id from tb1 where id between 1 and 5;
- 限制
select * from 表 limit 5; -前5行
select * from 表 limit 4,5; -从第4行开始的5行
select * from 表 limit 5 offset 4; -从第4行开始的5行
- 排序
select * from 表 order by 列 asc; -根据列从小到大排序
select * from 表 order by 列 desc; -根据列从大到小排序
select * from 表 order by 列1 desc,列2 asc; -根据列1从大到小排序,若相同,则按列2从小到大排序
- 分组
聚合函数:
count -计数
sum -求和
max -最大值
min -最小值
avg -平均值
select num from 表 group by num;
select num,nid from 表 group by 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;
注意:
group by 必须在where之后,order by 之前
需筛选聚合函数结果用“having”(不可用where)
select num from 表 group by num having max(id)>10;
- 联表操作
2个表关联:
select * from 表1 left join 表2 on 表1.字段1=表2.字段2; - 左边(表1)全显示
select * from 表2 left join 表1 on 表1.字段1=表2.字段2 ; -左边(表2)全显示 ≈ 右边全显示
select * from 表1 right join 表2 on 表1.字段1=表2.字段2; - 右边(表2)全显示
多个表关联:
select 表1.字段1,表a.字段a -如果关联表中字段存在重复可在select后+ 【表.列】 进行限制
from 表1
left join 表a on 表1.字段1=表a.字段a
left join 表b on 表a.字段a=表b.字段b
left jion 表c on 表1.字段2=表c.字段c; -所有已经关联上的表的所有字段都可使用进行接下来关联关系的建立