问题导读
一、说说事务的隔离级别有哪几种?
二、CHAR 和 VARCHAR 的区别?
三、主键和候选键有什么区别?
01 | 说说事务的隔离级别有哪几种?
事务的四个隔离级别为:
- read uncommited:读到未提交数据
- read committed:不可重复读
- repeatable read:可重复读
- serializable :串行事物
四种隔离级别解决的并发问题:
脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据
不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。
幻读:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。
02 | CHAR 和 VARCHAR 的区别?
CHAR 和 VARCHAR 类型在存储和检索方面有所不同。
CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255。
而VARHAR 长度可变。
当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空 格。
03 | 主键和候选键有什么区别?
表格的每一行都由主键唯一标识,一个表只有一个主键,主键也是候选键。
按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。
- End -
学习之路贵在坚持,关注我!
浩说编程陪你每天三道高频面试题,日积月累一定会有所收获!