SQL语句----DCL

本文介绍了DCL(Data Control Language)在MySQL中的应用,包括如何查询和创建用户,修改和删除用户密码,以及权限的授予和撤销。重点讨论了如何通过`CREATE USER`、`ALTER USER`、`DROP USER`、`GRANT`和`REVOKE`等命令来管理用户访问权限,确保数据库的安全性。

DCL-介绍

DCL数据控制语言,用来管理数据库和用户、控制数据库的访问权限

DCL-管理用户

查询数据库的用户

# 数据库的用户存储在mysql的表user中
use mysql;
select * from user;

创建用户

create user '用户名'@'主机名' identified by '密码';

定位MySQL的用户需要用主机地址和用户名共同进行定位

# 创建用户itcast,只能在当前的主机localhost访问,密码123456
create user 'iscast'@'localhost' identified by '123456';
# 创建用户heima可以在任意主机访问该数据库,密码123456
create user 'heima'@'%' identified by '123456';

新创建的用户无权限,需要进行分配
主机名可以使用%通配,在任何主机都可以访问数据库
DCL主要是DBA使用
修改用户密码

# 修改用户的密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
# 修改用户heima的访问密码为1234
alter user 'heima'@'%' identified with mysql_native_password by '1234';

删除用户

# 删除用户
drop user '用户名'@'主机名';
# 删除itcast用户
drop user 'iscast'@'localhost';

DCL-权限控制

请添加图片描述
其他权限可以参考官方文档
查询用户的权限

show grants for '用户名'@'主机名';

show grants for 'heima'@'%';

授予用户权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

#给heima用户mydatabase的所有权限
grant all on mydatabase.* to 'heima'@'%';

撤销权限

# 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

revoke all on mydatabase.* from 'heima'@'%';

多个权限之间使用逗号分割
授权时数据库名和表名可以使用 * 进行通配,代表所有

grant all on *.* to 'heima'@'%';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值