mysql-入门笔记-3

# ----------排序查询--------
# 语法
# select 字段列表 from 表名 order by 字段1 排序方式1 ,字段2 排序方式2 ;  DESC 降序  ASC升序

# 1 根据年龄对公司的员工进行升序排序---默认升序-黄色提示代码冗余
select * from userTable order by age ASC ;

# 2 根据入职时间,对员工进行降序排序
select * from userTable order by entrydate DESC ;

# 3 根据年龄对公司的员工进行升序排序,年龄相同,在按照入职时间进行降序排序
# (首先对age进行升序排序,-之后对年龄相同的-用入职时间进行降序排序)
select * from userTable order by age asc ,entrydate DESC ;


# =============================================
# ---------------分页查询--------------
# 字段 limit
# 语法 select 字段列表 form 表 limit 起始索引 查询记录数 ;
# ****  索引公式--(查询)页码-1 * 页面展示数,起始页0

# 1 查询员工第一页员工数据,每页展示2条
select * from userTable limit 0 , 2 ;

# 2 查询员工第二页员工数据,每页展示2条 (其实页-》页码-1 * 条数)
select  * from userTable limit 2 , 2;

案例练习--dql查询语句

# 批量添加              字段                                                       值
insert into userTable(id, workno, name, gender, age, idcard, worknoaddress, entrydate)
values (1,'1','柳岩','女',18,'123123123123123123','武汉','2023-6-26'),
       (2,'2','张无忌','男',20,'123123123123123123','天龙八部','2022-7-26'),
       (3,'3','韦一笑','男',18,'123123123123123123','天龙八部','2021-7-26'),
       (4,'4','周芷若','女',25,null,'天龙八部','2023-7-26'),
       (5,'5','谢逊','男',88,'12312312312312312x','天龙八部','2023-3-26'),
       (6,'6','张三丰','女',100,'123123123123123123','天龙八部','2023-2-26'),
       (7,'7','刘亦菲','女',18,'123123123123123123','武汉','2023-7-26')
       ;

# 1 查询年龄为 20 21 22 23 得男性员工信息
select * from userTable where gender = '男' && (age = 20 || age = 21 || age = 22  || age = 23) ;

select * from userTable where gender = '男' && age in (20,21,22,23);

select * from userTable where gender = '男' && age between 20 and 23 ;

# 2 查询 性别未男,且年龄再20-40(含)以内的姓名未三个字的员工 (含20 和40)
select * from userTable where gender = '男' && (age between 20 and 40) && name like '---';

select * from userTable where gender = '男' && (age >= 20 && age <= 40) && name like '---';

# 3 统计员工表,年龄小于60的 ,男性员工和女性员工的人数
select gender,count(*) from userTable where age < 60 group by gender;

# 4 查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序
# 5r
select name,age ,entrydate from userTable where age <= 35 order by age asc , entrydate desc ;

# 5 查询性别为男,年龄10-40(含)以内的5个员工信息,对查询结果按照年龄升序排序,年龄相同按入职时间升序排序
select * from userTable where gender = '男' && age between 10 and 40 order by age asc ,entrydate desc limit 0 , 5;

DQL  编写顺序  执行顺序

 mysql-入门笔记-3_第1张图片

 

# 查询年龄大于15的员工的姓名,年龄,并根据年龄进行升序排序---验证执行顺序
select t.age tage,t.name tname from userTable t where t.age > 15 order by tage asc;


# 首先 执行 from  表明 别名 t
# 再执行 where 后的条件  ---- 可以使用t.age   ,执行顺序在select 前面无法使用tage别名
# 再执行 group by
# 再执行分组条件 having
# 再执行select --------------字段 t.age 别名tage
# 再执行 order by  执行顺序在select后面可以使用别名  tage
# 最后 limit

# 总结
# 字段 和 表 加别名  是 as关键字  也可以 省略
# where 条件可以使用 and(&&) or(||) 进行连接
# 分组查询  group by 分组   having 对分组后进行过滤
# 排序查询   order by  asc升序  desc降序
# 分页  limit 参数 起始索引(从零开始),每页展示的数据    查询页码 = 索引 =   查询页 - 1 * 条数

# ==========================================
# --------------------------dcl-------(管理数据库用户-控制数据库的访问权限)

#用户管理

# 1查询用户
# 用户权限都存在 mysql 数据库的 user表里


# 2创建用户
# 语法 create user '用户名'@'主机名' identified by '密码'

# 3修改用户密码

# 4删除用户

# 需求
# 创建用户itcast 只能够在当前主机localhost访问,密码123456
create user 'itcast'@'localhost' identified by '123456';

# 创建用户heima 访问密码1234   %代表任意主机
create user 'heima'@'%' identified by '123';

# 修改用户密码--
# 语法                                          密码加密方式
# alter user '用户名'@'主机名' identified with mysql_native_password by '新密码'
alter user 'heima'@'%' identified with mysql_native_password by '1234';

# 删除itcast@localhost用户
drop user 'itcast'@'localhost';

# 总结--主机名可以使用%通配(任意主机都可以访问)
#运维  dba   使用较多

# ------------dcl--权限控制
# 查询权限-----语法 show grants for '用户名'@'主机名'
show grants for 'heima'@'%';

mysql-入门笔记-3_第2张图片

# 通用就---------------------------     *.*
# 授予权限-----语法 grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'
#    所有权限   拥有itcast 所有表   用户      ---从右向左读
grant all on itcast.* to 'heima'@'%';
# 所有权限  拥有所有数据库 所有表  用户  ---从右向左读
grant all on *.* to 'heima'@'%';

# 撤销权限-----语法revoke 权限列表 no 数据库名.表名 from '用户名'@'主机名'
revoke all on itcast.* from 'heima'@'%';

 

mysql-入门笔记-3_第3张图片

 

上图为常用---还有其他的可以查看官方文档

权限总结

mysql-入门笔记-3_第4张图片

 

你可能感兴趣的:(数据库,java,sql)