MySQL数据控制语言DCL
目录
- MySQL数据控制语言DCL
- DCL关键字
- 1.事务
- 事务的四大特性
- START TRANSACTION:开始事务
- ROLLBACK:回滚
- COMMIT:提交事务
- 2.用户权限
- CREATE USER:创建新的用户并指定权限
- DROP USER:删除用户
- ALTER USER:更改用户权限或属性
- GRANT:赋予用户权限
- REVOKE:取消用户权限
DCL关键字
DCL关键字 | 含义 |
---|---|
GRANT | 授予用户或角色特定的权限 |
REVOKE | 撤销用户或角色的权限 |
COMMIT | 提交当前事务 |
ROLLBACK | 回滚当前事务 |
SAVEPOINT | 在事务中设置保存点 |
SET | 设置会话级别的参数 |
1.事务
事务的四大特性
原子性(Atomicity):
原子性表示一个事务中的所有操作要么全部成功执行,要么全部回滚到事务开始前的状态。
一致性(Consistency):
一致性确保了在事务开始和结束时数据库的状态是一致的。
隔离性(Isolation):
隔离性指的是同时执行的多个事务之间应该相互隔离,互不干扰。每个事务都应该像独立执行一样,不能看到其他事务中未提交的中间结果。
持久性(Durability):
持久性表示一旦事务提交,其对数据库的修改应该永久保存,即使发生系统故障或重启也不会丢失。
start transaction;
rollback
提交事务后意味着改部分sql语句已运行结束,不能再执行回滚操作
start transaction;
insert into emp(name) values("王五");
commit; # 提交事务后无法再进行回滚
2.用户权限
username
为用户名,password
为密码,IDENTIFIED
为指定用户密码的关键字
create user username IDENTIFIED by 'password';
DROP USER username;
ALTER USER username SET PASSWORD = 'new_password';
赋予user
用户 SELECT
,INSERT
等权限,table_name
为权限生效的表名(修改权限之前要use库)
GRANT SELECT, INSERT ON table_name TO user;
用法与grant
相同
REVOKE SELECT, INSERT ON table_name FROM user;