干货|MySQL常见问题及答案汇总
MySQL是一种开放源代码的关系型数据库管理系统。数据库按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
在学习MySQL时会有很多问题,接下来我们一来学习下~
1.Mysql 的技术特点是什么?
Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。
2.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?
(1)如果表的类型是 MyISAM,那么是 18因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失。
(2)如果表的类型是 InnoDB,那么是 15InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行OPTIMIZE 操作,都会导致最大 ID 丢失。
3.Heap 表是什么?
HEAP 表存在于内存中,用于临时高速存储。BLOB 或 TEXT 字段是不允许的,只能使用比较运算符=,<,>,=>,= < 。HEAP 表不支持 AUTO_INCREMENT,索引不可为 NULL 。
4.Mysql 服务器默认端口是什么?
Mysql 服务器的默认端口是 3306。
5.与 Oracle 相比,Mysql 有什么优势?
Mysql 是开源软件,随时可用,无需付费。Mysql 是便携式的带有命令提示符的 GUI。使用 Mysql 查询浏览器支持管理。
6.如何区分 FLOAT 和 DOUBLE?
浮点数以 8 位精度存储在 FLOAT 中,并且有四个字节。浮点数存储在 DOUBLE 中,精度为 18 位,有八个字节。
7.区分 CHAR_LENGTH 和 LENGTH?
CHAR_LENGTH 是字符数,而 LENGTH 是字节数。Latin 字符的这两个数据是相同的,但是对于 Unicode 和其他编码,它们是不同的。
8.请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL 标准定义的四个隔离级别为:
read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物
9.在 Mysql 中 ENUM 的用法是什么?
ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。Create table size(name ENUM('Smail,'Medium','Large');
10.如何定义 REGEXP?
REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。
11.CHAR 和 VARCHAR 的区别?
CHAR 和 VARCHAR 类型在存储和检索方面有所不同。CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255 。当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。
12.列的字符串类型可以是什么?
字符串类型是:SET、BLOB、ENUM、CHAR、TEXT、VARCHAR 。
13.如何获取当前的 Mysql 版本?
SELECT VERSION();用于获取当前 Mysql 的版本。
觉得有用的小伙伴可以分享转发
给更多需要的人看到哦~
END