整理mysql面试题55题(含答案)

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

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

2、Mysql的技术特点是什么?

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

3、Heap表是什么?

HEAP表存在于内存中,用于临时高速存储。BLOB或TEXT字段是不允许的只能使用比较运算符=,<,>,=>,=<HEAP表不支持AUTO_INCREMENT索引不可为NULL

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

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

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

Mysql是开源软件,随时可用,无需付费。Mysql是便携式的带有命令提示符的GUI。使用Mysql查询浏览器支持管理

6、如何区分FLOAT和DOUBLE?

以下是FLOAT和DOUBLE的区别:浮点数以8位精度存储在FLOAT中,并且有四个字节。浮点数存储在DOUBLE中,精度为18位,有八个字节。

7、区分CHAR_LENGTH和LENGTH?

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

8、请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

SQL标准定义的四个隔离级别为:

readuncommited:读到未提交数据

readcommitted:脏读,不可重复读

repeatableread:可重读

serializable:串行事物

9、在Mysql中ENUM的用法是什么?

ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。Createtablesize(nameENUM(Smail,Medium,Large);

10、如何定义REGEXP?

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

11、CHAR和VARCHAR的区别?

以下是CHAR和VARCHAR的区别:

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

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

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

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

字符串类型是:

SET

BLOB

ENUM

CHAR

TEXT

VARCHAR

13、如何获取当前的Mysql版本?

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

14、Mysql中使用什么存储引擎?

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

技术涉及:

Storage mechanism

Locking levels

Indexing

Capabilities and functions.

15、Mysql驱动程序是什么?

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

PHP驱动程序

JDBC驱动程序

ODBC驱动程序

CWRAPPERPYTHON驱动程序

PERL驱动程序

RUBY驱动程序

CAP11PHP驱动程序

Ado.net5.mxj

16、TIMESTAMP在UPDATECURRENT_TIMESTAMP数据类型上做什么?

创建表时TIMESTAMP列用Zero更新。只要表中的其他字段发生更改,UPDATECURRENT_TIMESTAMP修饰符就将时间戳字段更新为当前时间。

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

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

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

18、如何使用Unixshell登录Mysql?

我们可以通过以下命令登录:[mysqldir]/bin/mysql-hhostname-u

19、myisamchk是用来做什么的?

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

经验分享 程序员 微信小程序 职场和发展