mysql的面试题
1索引
索引是什么
索引是对数据库中一或者多个列值的排序,帮助数据库高效获取数据的数据结构
数据库的索引就像是目录一样,当我们想要查找书籍中的某个知识点,直接利用索引查找,加快效率
索引有几个类型,普通索引,唯一索引,主键索引,全文索引
索引的优点
-加快检索速度
-唯一索引确保每行数据的唯一性
-在使用索引的过程可以优化隐藏器,提高系统性能
索引缺点
-插入删除 修改 维护速度下降
-占用物理和数据空间
2事务
事务的作用
事务是并发控制的基本单位。事务就是一系列的操作,这些操作要么都执行,要么都不执行,要么都不执行
事务的四个基本特征
-Atomicf(原子性)就像一个粒子一样,事务中的一系列的操作要么都完成,要么都不完成。rollback
-Consistency(一致性)一个成功的事务应该讲数据写入的到数据库,否则就要回滚到最初的状态
-Isolation(隔离性)并发访问和修改的操作都是相互独立的,一个事务不能对其他事务做出干扰
-Durablility(持久性)一旦一个事务被提交了,那么对数据库中的数据改变就是永久性的,即便是在数据库系统遇到故障的
时候,也不会丢失提交事务的操作。
事务的语句
-开始事务:begin transaction
-提交事务:commit transaction
-回滚事务:rollback transaction
3 数据库中的乐观锁和悲观锁
根据不同类型可以对数据设置不同的锁权限
--乐观 悲观锁 主要是作用在并发访问控制
悲观锁 假定会发生并发冲突,屏蔽任何违反数据完整的操作
乐观锁 假定不会发生冲突,只有在提交操作时检查是否违反数据的完整性
4 drop,delete,truncate 区别
三者都是删除的意思,
truncate ,delete 都是删除数据 而不是表的结构
速度 drop > truncate >delete
想删除表的部分数据时,delete删除时要带上where语句,可以回滚
truncate 是删除表中的所有数据 不可以回滚
5 超键 候选键 主键 外键 区别
主键 数据库中表中唯一和完整标识的数据列或属性集合
外键 在一个表中存在另一个表的主键叫外键
6 数据库的三大范式
-字段是最小单元,不可再分
-表中字段必须完全依赖全部主键,而非部分主键
-非主键外的所有字段必须互不依赖
7 视图作用
视图是虚拟的表,与包含数据的表不一样,视图是动态的,数据库表的数据变化,它会跟着一起变
使用视图可以简化复杂的sql操作,隐藏具体的一些细节保护数据
创建视图:create view xxx as xxxxx(select * 查询语句);