14-基础SQL-DCL(数据控制语言)

发布时间 2023-11-22 16:10:22作者: 马铃薯1

DCL-介绍

DCL英文全称是 Data Control Language(数据控制语言),用来管理数据库 用户、控制数据库的访问 权限

DCL-管理用户

查询用户(用户信息通常保存在 mysql 数据库下的 user表)

USE mysql;

SELECT * FROM user;

创建用户

CREATE USER "用户名"@"主机名" IDENTIFIED "密码";

案例1:创建用户 itcast,只能在当前主机 localhost 访问该数据库,密码 "123456"

CREATE user "itcast"@"localhost" IDENTIFIED BY "123456";

案例2:创建用户 heima,可以在任意主机访问该数据库,密码 "123456"

CREATE USER "heima"@"%" IDENTIFIED BY "123456";

修改用户密码

ALTER USER "用户名"@"主机名" IDENTIFIED WITH mysql_native_password BY "新密码";

案例3:修改用户 heima 的访问密码,新密码为 "1234"

ALTER USER "heima"@"%" IDENTIFIED WITH mysql_native_password BY "1234";

删除用户

DROP USER "用户名"@"主机名";

案例4:删除 itcast@localhost 用户

DROP USER "itcast"@"localhost";

 

DCL-权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

查询权限

SHOW GRANTS FOR "用户名"@"主机名";

授予权限

GRANT 权限列表 ON 数据库表.表名 TO "用户名"@"主机名";

撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM "用户名"@"主机名";

 

案例:

创建用户 heima,可以在任意主机访问该数据库,密码 "123456"

CREATE USER "heima"@"%" IDENTIFIED BY "123456";

查询用户 "heima"@"%"  权限

SHOW GRANTS FOR "heima"@"%";

授予用户 "heima"@"%"  itheima数据库中所有表的 全部权限

GRANT ALL ON itheima.* TO "heima"@"%";

再查询用户 "heima"@"%"  权限

撤销用户 "heima"@"%"  itheima数据库中所有表的 全部权限

REVOKE ALL ON itheima.* FROM "heima"@"%";