MySQL 基础面试题解析
数据类型
1. MySQL 中有哪些常见的数据类型?
- 数值类型:INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT, FLOAT, DOUBLE, DECIMAL
- 字符串类型:CHAR, VARCHAR, TEXT, BLOB
- 日期和时间类型:DATE, TIME, DATETIME, TIMESTAMP
- 枚举类型:ENUM
- 集合类型:SET
2. CHAR 和 VARCHAR 的区别是什么?
CHAR 用于存储固定长度的字符串,例如 CHAR(10) 始终占用 10 个字节,不足 10 个字节则用空格填充。VARCHAR 用于存储可变长度的字符串,例如 VARCHAR(10) 最多可以存储 10 个字节,实际占用空间取决于字符串的长度。
3. 什么是索引?
索引是一种数据结构,可以提高数据库查询效率。它类似于书籍的目录,可以快速定位到所需数据的位置。
4. 索引有哪些类型?
常见的索引类型包括:
- 主键索引 (PRIMARY KEY)
- 唯一索引 (UNIQUE)
- 普通索引 (INDEX)
- 全文索引 (FULLTEXT)
查询语句
5. 如何查询数据库中所有的表?
SHOW TABLES;
6. 如何查询某个表的所有列名?
DESCRIBE table_name;
7. 如何查询指定条件的数据?
SELECT column1, column2 FROM table_name WHERE condition;
8. 如何对查询结果进行排序?
SELECT column1, column2 FROM table_name ORDER BY column1 ASC/DESC;
9. 如何对查询结果进行分组统计?
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
事务
10. 什么是事务?
事务是指一组数据库操作,这些操作要么全部成功,要么全部失败。
11. 事务的 ACID 属性是什么?
- 原子性 (Atomicity): 事务是一个不可分割的整体,要么全部成功,要么全部失败。
- 一致性 (Consistency): 事务必须使数据库从一个一致性状态转换到另一个一致性状态。
- 隔离性 (Isolation): 多个事务并发执行时,每个事务都感觉不到其他事务的存在。
- 持久性 (Durability): 事务一旦提交,其结果将永久保存在数据库中。
其他
12. 什么是存储过程?
存储过程是一组预编译的 SQL 语句,存储在数据库中,可以被应用程序调用执行。
13. 什么是触发器?
触发器是一种特殊的存储过程,它在指定的数据库事件发生时自动执行。
14. 什么是视图?
视图是从一个或多个表中导出的虚拟表,它不存储实际数据,而是根据定义的查询语句动态生成数据。
暂无评论