MySQL概念小总结

  1. 三大范式需满足的要求
    第一范式:表中的每一个字段不可再拆分(原子性)
    第二范式:一张表描述一件事情,每张表添加一个主键
    第三范式:外键要引用另一张表的主键

  2. 多表查询:需要同时查询多张表才能得到需要的数据

  3. 多表查询的2中方式?
    一、表连接查询:(较多)
    1)内连接:
    ①隐式内连接:SELECT 字段 FROM 表名1, 表名2 WHERE 条件;
    ②显式内链接:SELECT 字段 FROM 表名1 INNER JOIN 表名2 ON 条件;
    2)外连接
    ①左外连接:SELECT 字段 FROM 表名1 LEFT OUTER JOIN 表名2 ON 条件;
    ②内外连接:SELECT 字段 FROM 表名1 RIGHT OUTER JOIN 表名2 ON 条件;
    二、子查询:(较少)
    1)结果单行单列:作为父查询的条件
    2)结果多行单列:作为父查询的条件 in
    3)结果多行多列:作为父查询的一张虚拟表

  4. 多表查询规律总结:
    不管我们查询几张表,表连接查询会产出笛卡尔积,我们需要消除笛卡尔积,拿到正确的数据。我们需要找到表与表之间通过哪个字段关联起来的(通常是外键=主键

  5. 多表连接查询步骤:
    1)确定要查询哪些表
    2) 确定表连接条件
    3)根据需求往后查询

  6. 什么是事务?
    多条SQL语句组合起来完成一个功能

  7. 事务的四大特?
    ①原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
    ②一致性:事务前后数据的完整性必须保持一致
    ③隔离性:是指多个用户并发访问数据库时,一个用户的事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离,不能相互影响。
    ④持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

  8. 事务的原理?
    当连接数据库的时候,会创建一张临时事务日志表,普通SQL操作是直接操作数据库的,如果开启事务,后续的SQL先写入到临时事务日志文件,当commit后,临时事务日志文件中的SQL就会作用到数据库上,如果rollback就删除临时日志文件.

  9. 事务的操作----------------------------------MySQL操作事务的语句
    开启事务:----------------------------------start transaction;
    提交事务:----------------------------------commit;
    回滚事务:----------------------------------rollback;
    查询事务的自动提交情况:-------------select @@autocommit;
    设置事务的自动提交方式:-------------set autocommit = 0;

  10. mysql的四种隔离级别
    读未提交:read uncommitted
    读已提交:read committed
    可重复读:repeatable read
    串行化:serializable

  11. 事务并发访问的三个问题
    赃读:一个事务读取另一个事务还没有提交的数据
    不可重复读:一个事务中两次读取的数据内容不一致,要求的是一个事务中多次读取时数据是一致的,这是事务update时引发的问题
    幻读:一个事务读取多次数量不一样(一个事务内读取到了别的事务插入的数据,导致前后读取记录行数不同。这是insert或delete时引发的问题)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值