沃梦达 / IT编程 / 数据库 / 正文

2019最新21个MySQL高频面试题介绍

MySQL是一款开源的关系型数据库管理系统,最早由瑞典MySQL AB公司开发,现在由Oracle公司维护。

2019最新21个MySQL高频面试题介绍

1.什么是MySQL?

MySQL是一款开源的关系型数据库管理系统,最早由瑞典MySQL AB公司开发,现在由Oracle公司维护。

2. MySQL中数据类型有哪些?

MySQL中数据类型包括整数类型、时间日期类型、字符类型、二进制类型等。

整数类型

MySQL中常用的整数类型有tinyint、smallint、mediumint、int、bigint五种,分别对应不同的整数范围。

时间日期类型

MySQL中时间日期类型包括date、time、datetime、timestamp、year等。

字符类型

MySQL中的字符类型包括char和varchar两种,它们的主要区别是char定长而varchar变长。

二进制类型

MySQL中的二进制类型包括blob和text两种,它们可以用来存储大量的二进制数据和文本数据。

3. MySQL中的索引有哪些?

MySQL中常用的索引包括普通索引、唯一索引、主键索引、全文索引等。

普通索引

普通索引也叫非唯一索引,它不限制列中的值的唯一性。

唯一索引

唯一索引要求列中的值是唯一的,但允许有空值。

主键索引

主键索引是唯一索引的一种,不允许有空值。

全文索引

全文索引用于匹配文本类型的数据,它可以提高搜索效率。

4. SQL语句中的UNION和UNION ALL有什么区别?

UNION和UNION ALL都用于合并多个SELECT语句的结果,它们的区别在于,UNION会去除重复的行,而UNION ALL不去除重复的行。

示例1:

假设我们有两个表A和B,它们的结构和数据如下:

表A:

id name
1 Tom
2 Jack

表B:

id name
1 Kevin
3 Lily

运行SELECT语句如下:

SELECT * FROM A UNION SELECT * FROM B;

则结果为:

id name
1 Tom
2 Jack
1 Kevin
3 Lily

示例2:

假设我们有一个表C,它的结构和数据如下:

表C:

id name
1 Tom
2 Jack
1 Tom

运行SELECT语句如下:

SELECT * FROM C UNION ALL SELECT * FROM C;

则结果为:

id name
1 Tom
2 Jack
1 Tom
1 Tom
2 Jack
1 Tom

总结

以上就是21个MySQL高频面试题的详细解答,包括MySQL介绍、数据类型、索引以及SQL语句中UNION和UNION ALL的区别。如果您想进一步提高数据库方面的知识,可以继续学习MySQL的其他相关内容。

本文标题为:2019最新21个MySQL高频面试题介绍