MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品,是最流行的关系型数据库管理系统之一。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、开放源码等特点,一般中小型网站的开发都选择MySQL作为网站数据库。
01 数据库历年高频真题梳理
- 1、MySQL 中有哪几种锁?
- 2、MySQL 中有哪些不同的表格?
- 3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
- 4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 5、CHAR 和 VARCHAR 的区别?
- 6、主键和候选键有什么区别?
- 7、myisamchk 是用来做什么的?
- 8、如果一个表有一列定义为 TIMESTAMP,将发生什么?
- 9、你怎么看到为表格定义的所有索引?
- 10、LIKE 声明中的%和_是什么意思?
- 11、列对比运算符是什么?
- 12、BLOB 和 TEXT 有什么区别?
- 13、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?
- 14、MyISAM 表格将在哪里存储,并且还提供其存储格式?
- 15、MySQL 如何优化 DISTINCT?
- 16、如何显示前 50 行?
- 17、可以使用多少列创建索引?
- 18、NOW()和 CURRENT_DATE()有什么区别?
- 19、什么是非标准字符串类型?
- 20、什么是通用 SQL 函数?
- 21、MySQL 支持事务吗?
- 22、MySQL 里记录货币用什么字段类型好
- 23、MySQL 有关权限的表都有哪几个?
- 24、列的字符串类型可以是什么?
- 25、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
- 26、锁的优化策略
- 27、索引的底层实现原理和优化
- 28、什么情况下设置了索引但无法使用
- 29、实践中如何优化 MySQL
- 30、优化数据库的方法
- 31、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
- 32、数据库中的事务是什么?
- 33、SQL 注入漏洞产生的原因?如何防止?
- 34、为表中的字段选择合适得数据类型
- 35、存储时期
- 36、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题:
- 37、解释 MySQL 外连接、内连接与自连接的区别
- 38、Myql 中的事务回滚机制概述
- 39、SQL 语言包括哪几部分?每部分都有哪些操作关键字?
- 40、完整性约束包括哪些?
- 41、什么是锁?
- 42、什么叫视图?游标是什么?
- 43、什么是存储过程?用什么来调用?
- 44、如何通俗地理解三个范式?
- 45、什么是基本表?什么是视图?
- 46、试述视图的优点?
- 47、 NULL 是什么意思
- 48、主键、外键和索引的区别?
- 49、你可以用什么来确保表格里的字段只接受特定范围里的值?
50、说说对 SQL 语句优化有哪些方法?(选择几条)
除此之外我还额外整理了关于MySQL的学习资料,结合本文一起去学习~
1、MySQL 中有哪几种锁?
· 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
· 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
· 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
2、MySQL 中有哪些不同的表格?
共有 5 种类型的表格:
· MyISAM
· Heap
· Merge
· INNODB
· ISAM
3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
MyISAM:
· 不支持事务,但是每次查询都是原子的;
· 支持表级锁,即每次操作是对整个表加锁;
· 存储表的总行数;
· 一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件;
· 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。
InnoDb:
· 支持 ACID 的事务,支持事务的四种隔离级别;
· 支持行级锁及外键约束:因此可以支持写并发;
不存储总行数:
一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制;
主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;最好使用自增主键,防止插入数据时,为维持 B+树结构,文件的大调整。
4、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL 标准定义的四个隔离级别为:
- 1. read uncommited :读到未提交数据
- 2. read committed:脏读,不可重复读
- 3. repeatable read:可重读
- 4. serializable :串行事物
5、CHAR 和 VARCHAR 的区别?
- 1. CHAR 和 VARCHAR 类型在存储和检索方面有所不同
- 2. CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255 当 CHAR值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。
由于篇幅有限,这里就不一一列出所有的内容了,下面还要为大家展示一下MySQL的学习笔记还有mysql学习路线,还有spring,mysql,jvm等等面试题,希望可以帮到大家~【MySQL】滴我即可
面试题合集
MySQL学习路线
内容比较齐全,希望大家都仔细阅读,内容比较多,花时间慢慢去消化,希望我整理的这些对大家都有帮助。