1、事务四大特性(ACID)
    1、原子性:不可再拆分,是最小的执行单位;
    2、一致性:事务执行前后,数据保持一致;
    3、隔离性:事务执行时,不受其他事务所干扰;
    4、持久性:事务执行对数据库的改变是持久的;
    2、事务产生的问题:
    脏读:读未提交,读取数据时,读取到了别人没有提交的数据;
    不可重复读:两次读取,数据不一致,可能是中间有人修改了数据;
    幻读,两次读取数据不一致,可能是中间有人新增了数据;
    3、数据库隔离级别
    读未提交:可以读取别人没提交的数据,脏读,幻读,不可重复读都可能发生;
    读已提交;只能读取别人提交的数据:解决了脏读
    可重复读:解决了不可重复读 (mysql默认使用)
    serializable:所有事务依次执行,解决了幻读,但是效率太慢;
    4、数据库三范式
    第一范式:每个列不可在拆分
    第二范式:在第一范式的基础之上,非主键列必须完全依赖主键,而非主键的一部分
    第三范式:在第二范式基础之上,非主键列不能依赖于其他列,只能依赖主键
    5、mysql存储引擎innodb和myisam的区别
    innodb:支持事务;查询慢,增删快;不支持全文索引
    myisam:不支持事务,查询快,增删慢,支持全文索引
    6、聚簇索引和非聚簇索引的区别是什么
    聚簇索引是指索引和数据存储放在一块 叶子节点存放数据
    非聚簇索引则是分开放 叶子节点存放的是数据对应的位置
    7、什么是回表
    回表就是通过数据库索引查询到数据所在行,再通过主键id查询未提供的数据