排序查询
语法:select 字段列表 from 表名 order by 字段1 排序方式1 ,字段2 排序防守2;
排序方式
ASC:升序 (默认值)
DESC : 降序
*注意*:如果是多字段排序, 当第一个字段值相同时,才会根据第二个字段进行排序。
例:
根据年龄对公司员工进行升序排列
selest * from emp order by age asc;
根据入职时间 对员工进行降序排列
select * from emp order by time desc;
根据年龄对公司的员工进行升序排序 ,年龄相同, 再按照入职时间进行降序排列(多字段排序 排完一个 在此基础上在进行)
select * from emp order by age acs, entrydate dese;
分页查询
select 字段列表 from 表名 limit 起始索引,查询记录数;
例:
查询第一页员工数据 每页展示10条记录
select * from emp limit 0,10;
查询第二页员工数据 每页展示10条记录 --------(页码-1)*页展示记录数
select * from emp limit 10,10;
练习
按照要求完成DQL语句编写
1.查询年龄为20,21,22,23岁的员工信息。
select * from emp where gender='女'and age in (20,21,22,23);
2.查询性别为男,并且年龄在 20-40 岁(含)以内的姓名为三个字的员工
select * from emp where gender='男' and age betwen 20 and 40 and name like '---';
3.统计员工表中年龄小于60岁的,男性员工和女性员工的人数。
select gender, count(*) from emp where<60 group by gender ;
4.查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序
select age ,name from emp where age<=35 order by age acs, entrydate dese;
5,查询性别为男,且年龄在20-40 岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。
select * from emp where gender='男' age betwen 20 and 40 order by age ,acs entrydate desc imit 5;
DQL 语句的执行顺序
先 from 在where 看查询条件 在 group by 分组 , 在select 后查询什么字段列表 在order by 排序字段列表 最后进行分页 limit
DCL (date control language )数据控制语言 ,用来管理数据库 用户 控制数据库的访问权限
用户管理
create user '用户名'@'主机名' identified by'密码';
create user '用户名'@'主机名' identified with mysql_native_password by'密码';
create user '用户名'@'主机名';
权限控制
grant 权限管理 on 数据库名.表名 to '用户名'@'主机名';
revoke 权限管理 on 数据库名.表名 from '用户名'@'主机名';
函数练习
需求变更 企业员工工号 改为五位数 在不足五位 的前面补齐零
update emp set workno= lpad(workno,5,0);
日期函数
curdate() 返回当前日期
curtime() 返回当前日期
流程控制函数
IF(value , t , f) 如果value为true,则返回t,否则返回f
IFNULL(value1,value2) 如果value1不为空,返回value1,否则返回value2
CASE WHEN [val1] THEN[res1] ... ELSE[default] END 如果val1为true,返回res1,... 否则返回default默认值
CASE [expr] WHEN [val1 ] THEN [res1] ... ELSE[ default] END 如果expr的值等于val1,返回res1,...否则返回default默认值
查询emp表的员工姓名和工作地址(北京/上海)如果为北京上海显示一线城市 其他二线城市
select
name ,
case workaddress when '北京' then '一线城市' then '上海' then '一线城市' else '二线城市' end
from emp;
约束
非空约束 not null
唯一约束 nuique
主键约束 primary key
默认约束 default
检查约束 check
外键约束 foreign key
注意:约束是作用于表的字段上的 可以在创建表的时候添加约束
外键约束 ;让两张表的数据建立连接,从而保证数据的一致性和完整性。