DCL :Data Control Language
创建用户/删除用户/赋权限/取消权限
create user me@localhost identified by 'me123';
# 将test下的所有对象的所有权限赋给用户lucas
grant all on sms.* to me@localhost;
flush privileges;
show grants for me@localhost;
revoke all on sms.* from me@localhost;
flush privileges;
drop user me@localhost;
事务
单个逻辑工作单元执行的一批操作,要么完全地执行,要么完全地不执行
ACID
原子性:(Atomicity): 事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行
一致性(Consistency):在事务操作前后,数据必须处于一致状态
隔离性(Isolation): 对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务
持久性(Durability):事务完成后,它对数据库的影响被永久保持
事务操作
-
- 开启事务
- 提交/回滚事务
- 当DML中出现DDL或者DCL时,会将该语句之前的DML语句作为一个事务自动提交
- savepoint 保存点
#关闭事物自动提交
set autocommit=0;
#开始事物
start transaction;
#事物内部操作
insert into stu values (6,'帝大','男',now(),2.000);
#DML中出现DDL或DCL会中断,分成两个事物,第一个事物自动提交
create table s(id int primary key);
update stu set id=2 where height=2.990;
#回滚事物
rollback;
#提交事物
#commit;
select *from stu;