-- DML 用于将数据进行增删改,DQL对数据使用条件处理
-- ,分组处理和聚合函数后输出,以及排序后输出。
-- 以最常见的用户表为例,创建一个employees
-- 查找表中所有的字段
select *from employees;
-- 插入一段数据,括号中数据要和表中字段顺序对应。
insert into employees values(1,'1234','何炅的弟弟','男',33,'9765432','2000-1-29','广东');
-- 插入两段数据,用逗号间隔。
insert into employees values(3,'39767','何晶晶','女',18,'88888888','2008-2-22','越南'),
(4,'16778','柳岩','女',90,'88888888','1999-1-30','韩国');
-- 更新表数据,以及where的使用
update employees set workadress='日本' where id=4;
update employees set entrydate='2008-01-01' where id=10;
-- 添加字段
-- alter table employees add column sociarank varchar(10) comment '社会地位';
-- 删除表中字段
-- alter table employees drop sociarank;
-- 使用条件删除数据
delete from employees where gender
-- 全部数据清空
-- delete from employees ;
-- 以字段查询
select name,idcard from employees;
-- 除去重复字段
select distinct workadress as '工作地址' from employees;
-- 查询性别为男且年龄大于30岁小于50岁的员工
select *from employees where gender='男' and age between 30 and 50;
也可以用age>30 and age<50;
-- 聚合函数
-- 求所有员工的数量和,count
select count(*) 总和 from employees;
-- 求年龄最大的员工,最小用min
select max(age)from employees ;
-- 求平均年龄
select avg(age) from employees;
-- 求日本员工的年龄之和
select sum(age) from employees where workadress='日本';
-- 所有null值不参与运算
-- 分组查询
-- 分别求求男性女性的年龄总和
select gender,sum(age) from employees group by gender;
-- 分别求男性女性的数目,并输出人数大于二的性别。
select gender,count(*) from employees group by gender having count(*)>2;
-- 多个分组字段,以两个组共同进行数据的划分。
select id,gender,count(*) from employees group by gender ,id;
-- 总结:存在优先级顺序
-- 1.where 先选择出符合条件的每一条数据,未进行分组之前相当于只有一个大组,
-- 而聚合函数以组进行划分处理数据。
-- 2.之后可以使用group by进行分组,可以选用一个字段进行分组,也可以选用多个字段进行分组。
-- 选用多个字段进行组合,将会把几个字段中分出的组进行数学上的组合,形成新的组。
-- 3.聚合函数分别对各个组的数据进行处理
-- 4.having 可以对聚合函数结果进行筛选,可以以函数结果作为条件输入。
-- 5.分组之后只能显示组别,select 非组别划分字段没有很大意义,只会显示组中第一个该字段数据。
-- 从上述分析来看,可以知道优先顺序:where>group by>聚合函数>having。
-- 排序查询
-- 升序--asc 降序--desc
-- 根据年龄对员工进行升序排序,若年龄相同,以出生日期哦进行降序排序。
select * from employees order by age , entrydate desc;-- asc 升序为默认排序方式,因此可以不写
-- 分页查询
-- 将数据按页输出每次输出两条,从第0页开始
select* from employees limit 0,2;-- 第一页-- 第一页可以省略索引
select* from employees limit 2,2;-- 第二页
select* from employees limit 4,2;-- 第三页
select* from employees limit 6,2;-- 第四页
-- select* from employees limit (n-1)*2,2 -- 第n页
-- ......