因这类SQL语言开发人员操作较少,主要是数据库管理员(DBA)使用,所以前文没有提及,这篇文章进行补充说明
DCL数据控制语言
用来管理数据库用户,控制数据库的访问权限
1.管理用户
1.1 查询用户
select * from mysql.user;
代码实现
select* from mysql.user;
运行结果
1.2 创建用户
create user '用户名' @ ‘主机名’ identified by ‘密码’;
代码实现
user 'Lcl'@'localhost' identified by '954926928lcl';
运行结果
1.3 修改用户密码
alter user ‘用户名’@'主机名' identified with mysql_native_password by '新密码';
代码实现
alter user 'Lcl'@'localhost' identified with mysql_native_password by 密码';
运行结果
1.4 删除用户
drop user '用户名' @ '新密码';
代码实现
drop user 'Lcl'@'localhost';
运行结果
注意事项
1.在Mysql需要通过‘用户名’@‘主机名’的方式,来唯一标识一个用户;
2.主机名可以使用‘%’通配;
3.这类SQL语言开发人员操作较少,主要是数据库管理员(DBA)使用
2.权限控制
2.1 查询权限
show grants for '用户名'@'主机名';
代码实现
show grants for 'Lcl' @'localhost';
运行结果
2.2 授予权限
grant 权限列表 on 数据库名.表名 to ‘用户名’@'主机名';
代码实现
grant all on stock.* to 'Lcl'@'%';
运行结果
2.3 撤销权限
revoke 权限列表 on 数据库名.表名 from ‘用户名'@’主机名‘;
代码实现
revoke all on stock.* from 'Lcl'@'%';
运行结果
注意事项:
1.多个权限之间,使用逗号分隔;
2.授权时,数据库库名和表名可以使用*进行通配,代表所有;