MySql基础 排序 分页查询等基础语法格式 及其对应练习

 排序查询 
语法: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 

注意:约束是作用于表的字段上的 可以在创建表的时候添加约束

外键约束 ;让两张表的数据建立连接,从而保证数据的一致性和完整性。
 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值