mysql代码笔记2

USE hrs;
###DQL练习
#####1、查询年龄为20、21、22、23岁的女性员工信息。
select * from emp where gender='女' and age in(21,22,23);
#####2、查询性别为男,并且年龄在20~40岁(含)以内的姓名为三个字的员工
select * from emp where gender='男' and age between 20 and 40 and name like '___';
#####3、统计员工表中,年龄小于60岁的,男性员工和女性员工的人数
select gender,count(*) from emp where age<60 group by gender;
#####4、查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序
select name,age from emp where age<=35  order by age asc,entrydate desc;
#####5、查询性别为男,且年龄在20~40岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序
select * from emp where gender='男' and age between 20 and 40 order by age asc,entrydate asc limit 5; 


###DQL执行顺序
######编写顺序
SELECT  
        字段列表
FROM   
				表名列表
WHERE
				条件列表
GROUP BY
				分组字段列表
HAVING
				分组后条件列表
ORDER BY
				排序字段列表
LIMIT
				分页参数
				
				
#####执行顺序
FROM 
      表名列表
WHERE
			条件列表
GROUP BY
			分组字段列表
HAVING
			分组后条件列表
SELECT
			字段列表
ORDER BY
			排序字段列表
LIMIT
			分页参数
			
	
####查询年龄大于15的员工的姓名、年龄,并根据年龄进行升序排序
select name,age from emp where age>15 order by age asc;


#DCL-用户管理
####管理用户
#####1、查询用户
use mysql;
select * from user;
#####2、创建用户
create user '用户名'@'主机名' identified by '密码';
#####3、修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
#####4、删除用户
drop user '用户名'@'主机名';


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

-- 创建用户heima,可以在任意主机访问该数据库,密码123456;
create user 'heima'@'%' identified by '123456';

-- 修改用户 heima 的访问密码为1234;
alter user 'heima'@'%' identified with mysql_native_password by '1234';

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

select * from user;


## DCL-权限控制
1、查询权限
SHOW GRANTS FOR '用户名'@'主机名';

-- 查询权限heima
show grants for 'heima'@'%';

2、授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

-- 授予权限(此时heima的权限是所有权限是针对于itcast的所有权限,采用上面的查询权限可以得出此结论)
grant all on itcast.* to 'heima'@'%';


3、撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
-- 从heima当中撤销itcast当中的所有权限
revoke all on itcast.* from 'heima'@'%';

/*
注意:
 1、多个权限之间,使用逗号分隔
 2、授权时,数据库名和表名可以使用*进行通配,代表所有
 */
 
 
 
 #函数
 ##函数-字符串函数
 ####函数是指一段可以直接被另一段程序调用的程序或代码
 #####函数演示
 
 -- cancat
 select concat('Hello','MySQL');
 
 -- upper 全部大写
 select upper('Hellow');
 
 -- lpad 左边填充
 select lpad('01',5,'-');
 
 -- rpad 右边填充
 select rpad('01',5,'-');

 -- trim 去除空格
 select trim(' Hello MySQL ');
 -- substring 截取字符串
 select substring('Hello MySqL',1,5)##截取的字符串为Hello
 
 /*
 案例:由于业务需求变更,企业员工的工号,统一为6位数,目前不足6位数的全部在前面补0。比如:1号员工的工号应该为000001.
 */
 update emp set workno=lpad(workno,6,'0');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值