SQL基础-DML语句
查看数据表的信息: image image 1.插入记录 insert into 表名 (字段1,字段2)values (值1,值2); 注意: 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.删除记录 delete from 表名 where 条件 image 多条记录: delete t1,t2 from t1,t2 where 条件; 如果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
评论 (0)