SQL基础-DML语句

2018-12-07  本文已影响0人  PHP的艺术编程

查看数据表的信息:

image image

1.插入记录

注意:

insert 可以一次插入多条语句;

insert into 表名 (字段1,字段2)values (值1,值2),(值1,值2);

image image

含可空字段,非空但是含有默认值的字段、自增字段,可以不用再insert后的字段列表里面出现,values后面只写对应字段名称的value值。这些没写的字段可以自动设置为null、默认值、自增下一个数字

2.更新数据

update 表名1, 表名2 set 表名1.字段1 = 值1,表名2.字段2 = 值2;

image image

3.删除记录

image

多条记录:

如果from后面用别名,则delete后面也要用相应的别名,否则会提示语法错误。

image

别名是不分先后顺序的

image

4.查询记录

image

1)查询不重复---------distinct

image

2)排序和限制---------order by

注意:后面可以跟多个不同的排序字段,并且每个排序字段都可以有不同的排序顺序;limit和order by一起配合使用来进行记录的分页显示。

image

limit 后面的0:表示记录的起始偏移量(默认情况下是0),5表示显示5行(行数)

image

3)聚合

select 值

from 表

where 条件(聚合前)

group by 要分类字段

having 条件(聚合后)

注意:GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该写在group by后面。

注意:having和where的区别,having是对聚合后的结果进行条件过滤,而where是在聚合前对记录进行过滤。如果逻辑允许,我们尽量用where先过滤记录,这样应为结果集减小,将对聚合的效率大大提高,最后在根据逻辑看是否使用having进行再过滤。

image

第四是既统计每个角色的数量,又统计总人数;

表连接:

内连接:仅选出两张表中互相匹配的记录;

外连接:会选出其他不匹配的记录。

内连接:

image

左连接:

image

右连接:

image

4)子查询

image

5)记录联合

union all:把所有的结果集合并在一起;

union:去掉重复记录的结果。

image
上一篇 下一篇

猜你喜欢

热点阅读