关于Mysql面试需要掌握的知识点(1)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 关于Mysql面试需要掌握的知识点

一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?

如果表的类型是 MyISAM,那么是 18 ,因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失 。


如果表的类型是 InnoDB,那么是 15 ,InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行OPTIMIZE 操作,都会导致最大 ID 丢失。


Mysql 的技术特点是什么?


Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。


Heap 表是什么?


HEAP 表存在于内存中,用于临时高速存储。

BLOB 或 TEXT 字段是不允许的

只能使用比较运算符=,<,>,=>,= <

HEAP 表不支持 AUTO_INCREMENT 索引不可为 NULL

Mysql 服务器默认端口是什么?


Mysql 服务器的默认端口是 3306。

与 Oracle 相比,Mysql 有什么优势?


Mysql 是开源软件,随时可用,无需付费。

Mysql 是便携式的带有命令提示符的 GUI。

使用 Mysql 查询浏览器支持管理

如何区分 FLOAT 和 DOUBLE?


以下是 FLOAT 和 DOUBLE 的区别:


浮点数以 8 位精度存储在 FLOAT 中,并且有四个字节。浮点数存储在 DOUBLE 中,精度为 18 位,有八个字节。

区分 CHAR_LENGTH 和 LENGTH?


CHAR_LENGTH是字符数,而LENGTH是字节数。Latin 字符的这两个数据是相同的,但是对于 Unicode 和其他编码,它们是不同的。


请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别? SQL 标准定义的四个隔离级别为:


read uncommited:读到未提交数据

read committed:脏读,不可重复读

repeatable read:可重读

serializable:串行事物


在 Mysql 中 ENUM 的用法是什么?


ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。

Create table size(name ENUM('Smail,'Medium','Large');


如何定义 REGEXP?


REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。


CHAR 和 VARCHAR 的区别?


以下是 CHAR 和 VARCHAR 的区别:


CHAR 和 VARCHAR 类型在存储和检索方面有所不同

CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255

当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。

列的字符串类型可以是什么?


字符串类型是:

SET、BLOB、ENUM、CHAR、TEXT、VARCHAR


如何获取当前的 Mysql 版本?


SELECT VERSION();用于获取当前 Mysql 的版本。

Mysql 中使用什么存储引擎?存储引擎称为表类型,数据使用各种技术存储在文件中。


技术涉及:


Storage mechanism

Locking levels

Indexing

Capabilities and functions.

Mysql 驱动程序是什么?


以下是 Mysql 中可用的驱动程序:


PHP 驱动程序

JDBC 驱动程序

ODBC 驱动程序

CWRAPPER

PYTHON 驱动程序

PERL 驱动程序

RUBY 驱动程序

CAP11PHP 驱动程序

Ado.net5.mxj

TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?


创建表时 TIMESTAMP 列用 Zero 更新。只要表中的其他字段发生更改,

UPDATE CURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。


主键和候选键有什么区别?


表格的每一行都由主键唯一标识,一个表只有一个主键。


主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。


如何使用 Unix shell 登录 Mysql?


我们可以通过以下命令登录:


[mysql dir]/bin/mysql -h hostname -u

myisamchk 是用来做什么的?


它用来压缩 MyISAM 表,这减少了磁盘或内存使用。


如何控制 HEAP 表的最大尺寸?


Heal 表的大小可通过称为 max_heap_table_size的 Mysql 配置变量来控制。


MyISAM Static 和 MyISAM Dynamic 有什么区别?


在 MyISAM Static 上的所有字段有固定宽度。动态 MyISAM 表将具有像 TEXT,BLOB 等字段,以适应不同长度的数据类型。点击这里有一套最全阿里面试题总结。


MyISAM Static在受损情况下更容易恢复。


federated 表是什么?


federated 表,允许访问位于其他服务器数据库上的表。


如果一个表有一列定义为 TIMESTAMP,将发生什么?


每当行被更改时,时间戳字段将获取当前时间戳。


列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?


它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。


怎样才能找出最后一次插入时分配了哪个自动增量?


LAST_INSERT_ID将返回由 Auto_increment 分配的最后一个值,并且不需要指定表名称。


你怎么看到为表格定义的所有索引?


索引是通过以下方式为表格定义的:

SHOW INDEX FROM


LIKE 声明中的%和_是什么意思?


%对应于 0 个或更多字符,_只是 LIKE 语句中的一个字符。


如何在 Unix 和 Mysql 时间戳之间进行转换?


UNIX_TIMESTAMP是从 Mysql 时间戳转换为 Unix 时间戳的命令

FROM_UNIXTIME是从 Unix 时间戳转换为 Mysql 时间戳的命令


列对比运算符是什么?


在 SELECT 语句的列比较中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR 或 LIKE 运算符。

我们如何得到受查询影响的行数?


行数可以通过以下代码获得:

SELECT COUNT(user_id)FROM users;


Mysql 查询是否区分大小写?


不区分


SELECT VERSION(), CURRENT_DATE;

SeLect version(), current_date;

seleCt vErSiOn(), current_DATE;


所有这些例子都是一样的,Mysql 不区分大小写。


LIKE 和 REGEXP 操作有什么区别?


LIKE 和 REGEXP 运算符用于表示^和%。

SELECT * FROM employee WHERE emp_name REGEXP "^b";

SELECT * FROM employee WHERE emp_name LIKE "%b";



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
1月前
|
SQL 关系型数据库 MySQL
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
MySQL慢查询优化、索引优化,是必知必备,大厂面试高频,本文深入详解,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
|
1月前
|
SQL 缓存 关系型数据库
美团面试:Mysql 有几级缓存? 每一级缓存,具体是什么?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴因未能系统梳理MySQL缓存机制而在美团面试中失利。为此,尼恩对MySQL的缓存机制进行了系统化梳理,包括一级缓存(InnoDB缓存)和二级缓存(查询缓存)。同时,他还将这些知识点整理进《尼恩Java面试宝典PDF》V175版本,帮助大家提升技术水平,顺利通过面试。更多技术资料请关注公号【技术自由圈】。
美团面试:Mysql 有几级缓存? 每一级缓存,具体是什么?
|
1月前
|
SQL 算法 关系型数据库
面试:什么是死锁,如何避免或解决死锁;MySQL中的死锁现象,MySQL死锁如何解决
面试:什么是死锁,死锁产生的四个必要条件,如何避免或解决死锁;数据库锁,锁分类,控制事务;MySQL中的死锁现象,MySQL死锁如何解决
|
1月前
|
存储 Oracle 关系型数据库
[MySQL]知识点
本文详细介绍了MySQL中int族和char族数据类型的特点、存储范围及使用建议,以及text、blob类型和内置字符处理函数。文章强调了数据类型选择的重要性,并提供了多个实例帮助理解。
38 0
[MySQL]知识点
|
1月前
|
SQL 关系型数据库 MySQL
美团面试:Mysql如何选择最优 执行计划,为什么?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴面试美团时遇到了关于MySQL执行计划的面试题:“MySQL如何选择最优执行计划,为什么?”由于缺乏系统化的准备,小伙伴未能给出满意的答案,面试失败。为此,尼恩为大家系统化地梳理了MySQL执行计划的相关知识,帮助大家提升技术水平,展示“技术肌肉”,让面试官“爱到不能自已”。相关内容已收录进《尼恩Java面试宝典PDF》V175版本,供大家参考学习。
|
14天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
92 15
|
7天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
14天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
18天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。