《数据库》小结01

一、数据库事务四大特性ACID

  • 1.原子性
  • 事务包含的所有操作要么全部成功,要么全部失败回滚
  • 2.一致性
  • 数据库从一个一致性状态变换到另一个一致性状态。例如用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000
  • 3.隔离性
  • 多个并发事务之间相互隔离
  • 4.持久性
  • 对数据库中的数据的改变是永久性,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

二、事务的隔离性

1.脏读
1)定义:一个事务处理过程里读取了另一个未提交的事务中的数据
2.不可重复读
1)定义:对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。
3.虚读/幻读
1)定义:非独立执行时发生的一种现象,好像并没有执行该操作

注意:
设置数据库的隔离级别一定要是在开启事务之前!
隔离级别的设置只对当前链接有效

三、MYSQL四种隔离级别

① Serializable (串行化):可避免脏读、不可重复读、幻读的发生—最高级别
② Repeatable read (可重复读):可避免脏读、不可重复读的发生—默认级别
③ Read committed (读已提交):可避免脏读的发生。
④ Read uncommitted (读未提交):任何情况都无法保证—最低级别

四、ORACLE两种隔离级别

① Serializable
②Read committed ----默认级别

五、SQL的外连接和内连接

在这里插入图片描述

  • A.外连接

1)左连接left join/left outer join
以左表为基准,将左表没有的对应项显示,右表的列为NULL
在这里插入图片描述
2)右连接right join/right outer join
以右表为基准,以将右表没有的对应项显示,左表的列为NULL
在这里插入图片描述
3)全连接 full join/full outer join
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
在这里插入图片描述

  • B.内连接

1.包括等值连接、不等值连接和自然连接
2.内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值
在这里插入图片描述

发布了60 篇原创文章 · 获赞 55 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/MARY197011111/article/details/85703555