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高频面试题介绍 - Python技术站