备战“金九银十”之MySQL:(历年高频面试真题+MySQL学习路线+学习笔记)

发布于:2023-01-05 ⋅ 阅读:(390) ⋅ 点赞:(0)

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学习路线

内容比较齐全,希望大家都仔细阅读,内容比较多,花时间慢慢去消化,希望我整理的这些对大家都有帮助。

本文含有隐藏内容,请 开通VIP 后查看