Mysql面试基本题--持续更新

1. MySQL 事务

事务是一个完整的业务逻辑,是最小的工作单元,只针对增删改语句,因为他们动了数据表中的数据。本质上是保证多条DML语句同时成功和同时失败
MYSQL中默认commit。需采用Start transcation,开启事务
ACID
A(原子性):指事务是最小工作单元,不可再分
C(一致性):同一事务中,所有操作必须同时成功或同时失败
I(隔离性):事务之间的隔离级别。分四类:①读未提交:A事务可以读取到B事务没有提交的数据,是理论存在中的级别,存在脏读现象;②读已提交:A事务只能读取到B事务提交了的数据,不可重复读,但是是真实的数据;③可重复读:A事务读取的是其开启的那个时间点数据表中的数据,即使B提交了也不会影响,存在幻影读,不是真实的数据;④序列化:事务排队,只能一条一条执行,只有当A事务完成后才能执行B事务,效率低下,是真实的数据。
D(持久性):事务最终结束的一个保障。事务提交,将没有保存到硬盘上的数据保存到硬盘上

2. MYSQL存储引擎

存储引擎是指数据库存储数据的方式。不同的存储引擎,表存储数据的方式不同
INNODB支持数据库崩溃后自动恢复机制,非常安全,支持事务
MYISAM三个文件表示一张表,分别是格式文件、数据文件、索引文件。可被转换成压缩文件、只读表来节约空间,不支持事务
MEMORY数据和索引都在内存中,特点是快。不需要和数据交互。不支持事务

3. MYSQL索引

mysql中只有两种查询方式:①全表扫描;②根据索引检索。在数据库表的字段上添加,通过缩小扫描范围从而提高查询效率的一种机制。索引和字段约束有区别。但有UNIQUE约束的字段会自动生成索引。索引相当于构建了一个B树/B+数
索引失效:①“‘like’ 模糊查询”时,以“%…”开头会造成索引查询失效;②使用“or”时,两边字段一方不具备索引,会造成失效;③复合索引,没有使用最左侧的列查找时;④在where中索引列参加了运算;⑤where当中,索引列使用了函数
索引分类:①单一索引:一个字段添加索引;②复合索引:两个或两个以上的字段添加索引;③主键索引:主键添加索引;④唯一性索引(具有UNIQUE约束的会自动添加索引):给具有UNIQUE约束的字段添加索引

4. MYSQL视图

站在不同角度看待同一份数据,对视图的操作会同时影响原表数据。用以简化sql语句,当sql语句需在不同位置上反复使用时,可以用视图对长语句进行替换。视图对象也是以文件形式存储在硬盘上的,不会消失。相当于对查询表进行了复制,对新表即视图进行数据的增删改查会影响原表的数据,但要通过视图更新基本表数据,必须保证视图是可更新视图

5. MYSQL约束

约束用以保证表中数据的完整性、有效性。主要有非空约束,唯一性约束,主键约束,外键约束
一个字段同时被非空约束和唯一性约束的话,其自动变成主键字段。一张表主键约束只能添加一个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值