查看数据表的信息:
1.插入记录
- insert into 表名 (字段1,字段2)values (值1,值2);
注意:
insert 可以一次插入多条语句;
insert into 表名 (字段1,字段2)values (值1,值2),(值1,值2);
含可空字段,非空但是含有默认值的字段、自增字段,可以不用再insert后的字段列表里面出现,values后面只写对应字段名称的value值。这些没写的字段可以自动设置为null、默认值、自增下一个数字
2.更新数据
update 表名1, 表名2 set 表名1.字段1 = 值1,表名2.字段2 = 值2;
- 单表更新
- 多表更新
3.删除记录
- delete from 表名 where 条件
多条记录:
- delete t1,t2 from t1,t2 where 条件;
如果from后面用别名,则delete后面也要用相应的别名,否则会提示语法错误。
别名是不分先后顺序的
4.查询记录
1)查询不重复---------distinct
2)排序和限制---------order by
注意:后面可以跟多个不同的排序字段,并且每个排序字段都可以有不同的排序顺序;limit和order by一起配合使用来进行记录的分页显示。
limit 后面的0:表示记录的起始偏移量(默认情况下是0),5表示显示5行(行数)
3)聚合
select 值
from 表
where 条件(聚合前)
group by 要分类字段
having 条件(聚合后)
注意:GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在group by后面。
注意:having和where的区别,having是对聚合后的结果进行条件过滤,而where是在聚合前对记录进行过滤。如果逻辑允许,我们尽量用where先过滤记录,这样应为结果集减小,将对聚合的效率大大提高,最后在根据逻辑看是否使用having进行再过滤。
第四是既统计每个角色的数量,又统计总人数;
表连接:
内连接:仅选出两张表中互相匹配的记录;
外连接:会选出其他不匹配的记录。
- 左连接:包含所有左边表中的记录甚至是右边表中没有和它匹配;
- 右连接:包含所有右边表中的记录甚至是左边表中没有和它匹配;
内连接:
左连接:
右连接:
4)子查询
5)记录联合
union all:把所有的结果集合并在一起;
union:去掉重复记录的结果。
网友评论