DCL
数据控制语言(Data Control Language,DCL)在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、存储程序、用户自定义函数等数据库对象的控制权。
GRANT授权
GRANT 权限1, … , 权限n ON 数据库.* TO 用户名@IP地址
// 权限、用户、数据库
//给用户分派在指定的数据库上的指定的权限GRANT ALL ON 数据库.* TO 用户名@IP地址
//即授予所有权限
SHOW GRANTS;
//查看所有授权
表级grant只支持如下权限类型:alter、create、createview、delete、drop、grant、index、insert、references、select、show view、update.
列级grant只支持以下权限类型:insert、select、update.
REVOKE取消
REVOKE <权限> ON <对象类型> <对象名> FROM <用户>//取消用户授权
事务
数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。
事务的四个性质:
- 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么全部不执行。
- 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序 串行执行的结果相一致。
- 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。
- 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。
事务的操作步骤:
- 设置自动提交模式关闭 set autocommit=0;
- 开始事务,设置事务起点 start transaction;
- 执行dml操作(不能写ddl语句,ddl语句会自动提交,破坏事务的完整性)
- commit提交或者rollback回滚
- 还原到默认状态set autocommit=1;
BEGIN TRANSACTION //事务开始
SQL1
SQL2
COMMIT //事务提交
ROLLBACK回滚
EOLLBACK: 回滚的意思。 就是数据库里做修改后 ( update ,insert , delete)未commit 之前 使用rollback 可以恢复数据到修改之前。
标签:DCL,执行,REVOKE,GRANT,数据库,事务,回滚,权限 From: https://blog.51cto.com/u_16252300/7502062BEGIN TRANSACTION //事务开始
SQL1
SQL2
ROLLBACK //事务回滚