MySQL面试题精华

需积分: 1 0 下载量 161 浏览量 更新于2024-08-04 收藏 23KB DOCX 举报
MySQL 面试题经典 本资源摘要信息提供了 MySQL 相关知识点的详细解释和描述,涵盖了 MySQL 的技术特点、Heap 表、事务隔离级别、ENUM 的用法、数据类型、存储引擎、服务器默认端口等多方面的内容。 **1. MySQL 的技术特点是什么** MySQL 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。MySQL 的技术特点在于其多线程的设计,可以支持多个客户端同时连接和操作数据库,提高了数据库的并发性能和可扩展性。 **2. Heap 表是什么** Heap 表存在于内存中,用于临时高速存储。Heap 表的特点是:不允许 BLOB 或 TEXT 字段、只能使用比较运算符=,<,>,=>,=<、不支持 AUTO_INCREMENT、索引不可为 NULL。Heap 表的优点是可以快速地插入和查询数据,但其缺点是数据不稳定,重启数据库后数据将丢失。 **3. MySQL 服务器默认端口是什么** MySQL 服务器的默认端口是 3306。这个端口号是 MySQL 服务器的默认监听端口,用于客户端连接数据库。 **4. 与 Oracle 相比,MySQL 有什么优势** MySQL 是开源软件,随时可用,无需付费。MySQL 是便携式的,带有命令提示符的 GUI 使用Mysql 查询浏览器支持管理。相比 Oracle,MySQL 的优势在于其开源免费、易于使用和部署。 **5. 如何区分 FLOAT 和 DOUBLE** FLOAT 和 DOUBLE 都是浮点数类型,但它们在存储精度和字节大小上有所不同。FLOAT 以 8 位精度存储在 FLOAT 中,并且有四个字节。DOUBLE 则以 18 位精度存储在 DOUBLE 中,并且有八个字节。 **6. 区分 CHAR_LENGTH 和 LENGTH** CHAR_LENGTH 是字符数,而 LENGTH 是字节数。Latin 字符的这两个数据是相同的,但是对于 Unicode 和其他编码,它们是不同的。 **7. InnoDB 支持的四种事务隔离级别名称** SQL 标准定义的四个隔离级别为: * read uncommitted:读到未提交数据 * read committed:脏读,不可重复读 * repeatable read:可重读 * serializable:串行事物 **8. ENUM 的用法是什么** ENUM 是一个字符串对象,用于指定一组预定义的值,并在创建表时使用。例如,创建一个名为 size 的 ENUM 字段,可能的值为 'Smail', 'Medium', 'Large'。 **9. CHAR 和 VARCHAR 的区别** CHAR 和 VARCHAR 都是字符串类型,但它们在存储方式和长度上有所不同。CHAR 是定长字符串,VARCHAR 是变长字符串。 **10. 列的字符串类型可以是什么** 列的字符串类型可以是 CHAR、VARCHAR、TEXT、ENUM 等。 **11. 如何获取当前的 MySQL 版本** 可以使用 SELECT @@version; 语句来获取当前的 MySQL 版本。 **12. MySQL 中使用什么存储引擎** MySQL 中使用 InnoDB、MyISAM、MEMORY 等存储引擎。InnoDB 是 MySQL 的默认存储引擎,支持事务和锁机制。 **13. MySQL 驱动程序是什么** MySQL 驱动程序是连接 MySQL 数据库的接口,用于实现客户端和服务器之间的交互。常见的 MySQL 驱动程序有 Connector/J、Connector/ODBC 等。 **14. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么** TIMESTAMP 数据类型在 UPDATE CURRENT_TIMESTAMP 上可以自动更新当前时间戳。 **15. 主键和候选键有什么区别** 主键是唯一标识表中每一行记录的字段,候选键是可以唯一标识表中每一行记录的字段,但不一定是主键。 **16. 如何使用 Unix shell 登录 MySQL** 可以使用 mysql 命令连接 MySQL 数据库,例如:mysql -h hostname -u username -p password。