数据库博客-DTL事务-权限

1 篇文章 0 订阅
1 篇文章 0 订阅

事务 transaction

DDL、DML、DCL、DTL

概念:一组必须同时成功或者失败的DML语句构成了一个事务

~insert / ~delete / ~update /select

特性:ACID

  • Atomicity : 原子性 : 操作不可分
  • Consistency : 一致性: 操作发生前和发生后,数据的状态都必须一致
  • Isolation : 隔离性: 事务之间是隔离的
  • Durability : 持久性 : 事务对数据的更改是持久

事务操作:

  • set autocommit=0 事务的自动提交行为,0表示不自动提交,1表示自动提交
  • 开始事务 :start transaction
  • 结束事务:commit 提交 / rollback 回滚
  • 自动行为:
    • 从上一次的事务结束到下一次事务结束所有的操作默认为一个事务
    • 当事务遇到DDL语句时会自动提交
    • 报错,自动提交

下面是我自己的 整理部分,上面结构清晰,下面细节太多

transaction事务:

四大特性:ACID

A:原子性:要么都完成,要么都不完成,是一个整体
START TRANSACTION;#开启事务
  SET autocommit=0;#自动提交不开启,为1自动开启
  INSERT INTO eas_student VALUES(DEFAULT,"赵柳","1995-08-08 00:00:00","M","物联网","计算机科学与技术",20,"2013级","T"); 
#进行一系列的DML语句(对数据 的操作),如果遇见DDL(表示进行另一个事务),这些DML语句就是一个整体
  SELECT * FROM eas_student;
  COMMIT;#这个单词(提交)和rollback(回滚,不执行)是结束事务的标志,
#ROLLBACK;

以上的步骤是一个整体要么都成功,要么都不成功

C:一致性:进行事务 的 操作,数据 的完整性没有改变,

(假如你给了别人一元钱,别人多了1元,你少了1元)

I:隔离性:一个事务是一个整体,在没有进行事务的提交,别人是不能访问你修改的任意的一条数据。
#另一个数据库 的软件对本数据进行查询,并没有发现数据 有什么改变,只能等上一个软件,对那个事务进行了提交,或回滚, 在这个软件才能操作新数据
USE eas;
SELECT * FROM eas_student;
D:持久性:如果一个事务被提交,那么他的所有 的更改的DML的操作都确定了,

(意思是:如果你对数据进行了删除操作,并提交了数据,
那么你想执行返回的 操作(ctrl+z)是不可能 的,只能通过备份的插入语句对数据进行还原)

这句话挺重要的:

进行一系列的DML语句(对数据 的操作),如果遇见DDL
(对表结构 的修改,表示进行另一个事务的开始,自动commit)和错误代码也会自动提交,这些DML语句就是一个整体

A :atomicity

C:consistency

I :Isolation

D:durability

权限管理:

#给其他管理员操作数据库的权限,root是最大的管理员

#创建一个新的管理员action,密码为action123,localhost是ip地址
CREATE USER action@localhost IDENTIFIED BY "action123";

/*授予action一个数据库或多个数据库的权限,有增删改查,全部这五种权限, 
还可以给数据库中的哪个表/全部表的权限*/
GRANT ALL ON eas.`*` FROM action@localhost;
#  使权限生效
FLUSH PRIVILEGES;


#取消授权(但不关闭连接,本次权限还是可以操控表)
REVOKE ALL ON eas.`*` FROM action@localhost;
#  使权限生效
FLUSH PRIVILEGES;

#查看权限信息
SHOW GRANTS FOR action@localhost;

#把权限给每一个客户端
grant all on emall.*  to action@'%' identified by 'action123' with grant option;
flush privileges;

select * from daul;//这个daul表示一个虚表,为了让select 语句不出错,from后面必须跟表名

default,在insert语句中,默认值不写,用default代替,不用写表名后面的字段列表

last_insert_id ():找到这个表的最后一个id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值