Linux:数据库事务

本文详细介绍了数据库的事务管理,包括ACID特性、四种隔离级别及其影响。同时,讨论了视图的概念,作为虚拟表简化复杂查询和数据保护的作用。此外,还阐述了索引的重要性和工作原理,它是提升数据库查询效率的关键。
摘要由CSDN通过智能技术生成

1.事务
(1)事务:一个操作序列,这些操作要么都执行,要么都不执行。一组原子性的SQL查询。
(2)事务四大特性(ACID):原子性,一致性,隔离性(一个事务在最终提交之前,对其他事务时不可见的,隔离级别:未提交读,提交读,可重复读),持久性
(3)隔离级别
在sql标准中定义了四种隔离级别,每一种级别都规定了一个事务所做的修改,那些在事务内和事务间是可见的。那些是不可见的,通常较低级别的隔离可以执行更高的并发,系统开销也低。

面试常考

A.未提交读:事务的修改,即使没有提交,对其他事务也都是可见的,事务可以读取未提交的数据,这也被称为“脏读"。
B.提交读:大对数数据库系统默认隔离级别,
C.可重复读:解决脏读的问题,幻读:当某个事务在读取某个范围内的记录时,另外一个事务又在该范围内插入了新的记录,当之前的事务再次读取该范围内的记录时,会产生幻行。
D.可串行化:最高隔离级别,它通过强制事务串行执行,避免了前面说的幻读,只有在非常需要确保数据的一致性而且可以接受没有并发的情况下,才考虑采用该级别。
a 查看会话隔离级别(如果修改会话隔离级别,只能修改会话隔离级别)

SELECT @@SESSION.transaction_isolation;

在这里插入图片描述
b 查看系统隔离级别(如果修改系统隔离级别,所有人隔离级别都会发生改变)

SELECT @@GLOBAL.transaction_isolation;

在这里插入图片描述
1)开始事务,命令如下:
开启事务后执行修改命令,变更会维护到本地缓存中,而不维护到物理表中

begin;
或者
start transaction;

2)提交事务,命令如下:
将缓存中的数据变更维护到物理表中

commit;

3)回滚事务,命令如下:

rollback;

4)查看数据库引擎

show create table student;

在这里插入图片描述
2.视图
(1)概念:一种虚拟存在的表,对于使用视图的用户来说基本上是透明的,视图并不在数据库中实际存放数据,它的数据来自定义视图时使用的基本表,并且是在使用视图时动态生成的。

select * from v_stu_info

(2)为什么要使用视图?
·简化复杂的sql操作,在编写查询后,可以方便的重用它而不必知道它的查询细节。
·重复使用该sql语句。
·使用表的组成部分而不是整个表。
·保护数据,可以给用户授予表的特定部分的访问权限而不是整个表。
·更改数据格式和表示。
(3)创建视图:
在这里插入图片描述
在这里插入图片描述
(4)删除视图

drop view viewname;

3.索引
索引是一种特殊的文件,塔包含着对数据表里面所有记录的引用指针

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值