SQL——数据控制语言DCL(GRANT,REVOKE,COMMIT,ROLLBACK)

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):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。

事务的操作步骤:

  1.  设置自动提交模式关闭 set autocommit=0;
  2.  开始事务,设置事务起点 start transaction;
  3.  执行dml操作(不能写ddl语句,ddl语句会自动提交,破坏事务的完整性)
  4.  commit提交或者rollback回滚
  5.  还原到默认状态set autocommit=1;

BEGIN TRANSACTION  //事务开始
SQL1
SQL2
COMMIT   //事务提交

ROLLBACK回滚

EOLLBACK: 回滚的意思。 就是数据库里做修改后 ( update ,insert , delete)未commit 之前 使用rollback 可以恢复数据到修改之前。

BEGIN TRANSACTION  //事务开始
SQL1
SQL2
 ROLLBACK   //事务回滚

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wen先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值