数据控制语言DCL

简介: 数据控制语言DCL

DCL:Data Control Language,用于管理数据库中数据访问权限的语言

GRANT

GRANT允许特定用户或角色执行某些操作,如查询、插入、更新或删除数据等。

GRANT 权限类型 ON 对象 TO 用户

权限类型:SELECT。INSERT、UPDATE、DELETE

对象:通常是数据库名.*,表示数据库中的所有表

用户:指定要赋予权限的用户,可以包含用户名和主机名,格式为user@'host'

## 授予用户common_user在testdb数据库上的所有表进行查询的权限
GRANT SELECT ON testdb.* TO common_user@'%'
## 授予用户common_user插入数据的权限
GRANT INSERT ON testdb.* TO common_user@'%'
## 查看用户权限
SHOW GRANTS FOR 用户

例:添加一个用户为为newuser,密码为password123,允许从任何主机连接,并且拥有对名为example数据库的所有权限

## GRANT ALL PRIVILEGES:授予用户所有权限
## ON exampledb.*:将权限限制在exampledb数据库中的所有表上
## TO 'newuser'@'%':创建了一个名为newuser,可以从任何主机连接的用户
## IDENTIFIED BY 'password123':设置了用户的密码为password123
GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'%' INDENTIFIED BY 'password123';
## 最后还要执行FLUSH PRIVILEGES来刷新权限
FLUSH PRIVILEGES

注意:

  1. 新创建的用户默认没有任何权限,除了登录mysql服务器的权限。需要使用GRANT语句来赋予他们额外的权限。
  2. 在授权时,可以使用通配符*来指代所有数据库和所有表,也可以指定具体的数据库和表来赋予更精细的权限。

REVOKE

移除之前授予的权限。如果某个用户不再需要对某数据的访问权,可以通过REVOKE命令来回收其权限。

REVOKE 权限类型 ON 对象 FROM 用户

权限类型:SELECT、DELETE、INSERT、UPDATE

对象:数据库名.*

用户:指定要赋予权限的用户,可以包含用户名和主机名,格式为user@'host'

## 回收用户的所有权限,ALL PRIVILEGES表示所有权限,GRANT OPTION表示收回授权其他用户权限的能力
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户
## 回收SELECT,INSERT权限
REVOKE SELECT, INSERT ON testdb.* FROM common_user@'%'
  • 执行REVOKE语句,执行者必须拥有响应的权限。如果要撤销的是代理用户,需要使用REVOKE PROXY命令。

CREATE USER

创建新的用户账户,并为其设置密码,以便于后续权限的管理

## 'username'是你想要创建的用户名
## @'hostname'指定了用户可以从哪个主机连接,可以用%表示允许从任何主机连接
## IDENTIFIED BY 'password'设置了用户的密码
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
CREATE USER 'user1'@'%' IDENTIFIED BY 'password1';
  • 执行CREATE USER语句需要具有创建用户权限的账号,通常是数据库管理员账户。
  • 创建新用户后,通常还需要使用GRANT语句为用户分配具体的数据库权限。
目录
相关文章
|
6月前
|
SQL Oracle 关系型数据库
DDL、DML和DCL的区别与理解
DDL、DML和DCL的区别与理解
222 1
DDL、DML和DCL的区别与理解
|
SQL 关系型数据库 数据库
day02:DML DQL DCL
day02:DML DQL DCL
77 0
|
3月前
|
SQL 存储 安全
DDL、DML、DCL 的区别
【8月更文挑战第1天】
176 0
DDL、DML、DCL 的区别
|
11月前
|
SQL 关系型数据库 MySQL
Mysql数据库 20.DCL数据控制语言
Mysql数据库 20.DCL数据控制语言
68 0
|
SQL 算法 关系型数据库
DCL数据控制语言-用户权限
DCL数据控制语言-用户权限
|
SQL 算法 关系型数据库
DCL数据控制语言-密码和IP
DCL数据控制语言-密码和IP
|
SQL 数据库 索引
DQL、DML、DDL、DCL的概念与区别
DQL、DML、DDL、DCL的概念与区别
|
SQL 数据库
SQL中的DML、DDL以及DCL是什么?
SQL中的DML、DDL以及DCL是什么? DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
2502 0
|
SQL 存储 数据库
SQL语言:DDL、DML、DQL、DCL详解
SQL程序语言有四种类型,对数据库的基本操作都属于这四类,它们分别为;数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)、数据控制语言(DCL)
285 0
|
SQL 关系型数据库 MySQL
DCL(数据控制语言) | 学习笔记
快速学习 DCL(数据控制语言)
196 0
DCL(数据控制语言) | 学习笔记