MYSQL_事务控制语言TCL和数据控制语言DCL

事务控制语言TCL:

有时我们可能需要使用DML进行批量数据的删除,修改,
增加。比如,在一个员工系统中,我们想删除一个人的信息。
除了删除这个人的基本信息外,还应该删除与此人有关的
其他信息,如邮箱,地址等等。那么从开始执行到结束
就会构成一个事务。
对于事务,我们要保证事务的完整性。要么成功。
要么撤回。

一般情况下事务要符合四个条件(ACID):

原子性(Atomicity)
事务要么成功,要么撤回。不可切割性。
一致性(Consistency)
事务开始前和结束后,要保证数据的一致性。
转账前账号A和账号B的钱的总数为10000;
转账后账号A和账号B的前的总数应该还是10000;
隔离性(Isolation):
当涉及到多用户操作同一张表时,数据库为会
每一个用户开启一个事务。那么当其中一个事务正在
进行时,其他事务应该处于等待状态。保证事务之间
不会受影响。
持久性(Durability):
当一个事务被提交后,我们要保证数据库里的
数据是永久改变的。即使数据库崩溃了,我们也要
保证事务的完整性。

关键字:

commit:提交
rollback:撤回,回滚。
savepoint:保存点

事务:只有DML操作会触发一个事务。
存储引擎(ENGINE):就是指表类型.
当存储引擎为innodb时,才支持事务。
有一个默认的存储引擎为Myisam。不支持事务。

事务的验证步骤:

第一步:start transaction
第二步:savepoint 保存点名称。
第三步:DML
第四步:commit/rollback;

数据控制语言DCL:

作用是用来创建用户,给用户授权,撤销权限,删除用户。

关键字:

create user:创建用户
grant:授予权限
revoke:撤销权限
drop user:删除用户

格式:
1:创建用户

create user username@ip identified by newPwd;

2:显示用户的权限

show grants for username@ip;

3:授权

grant 权限1,权限2… on databaseName.* to username@ip;
DML权限:insert,delete,update
DQL权限:select
DDL权限:create,alter,drop…

4:撤销权限

revoke 权限1,权限2..on 数据库名.* from username@ip;

5:删除用户

drop user username;

6:使权限立即生效

flush privileges;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值