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


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

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

  • 相关阅读:
    C-11 结构体
    【Leetcode刷题(数据结构)】:三路划分与三数随机取中的思想实现快速排序的再优化
    无涯教程-JavaScript - ASINH函数
    【开发经验】gateway网关开发调试优先选择本地服务
    DevOps与CI/CD的最佳实践
    softmax的高效CUDA编程和oneflow实现初步解析
    HttpRunner 接口自动化测试框架实战,打造高效测试流程
    学习并了解MQ消息队列
    tcmalloc 框架介绍
    晶振与晶体
  • 原文地址:https://blog.csdn.net/weixin_62421895/article/details/126499427