MySQL 面试题, int11 这个 11 是什么意思?
MySQL 面试题, int11 这个 11 是什么意思?
QA
Step 1
Q:: MySQL 中 int(11) 这个 11
是什么意思?
A:: int(11) 中的 11 指的是 MySQL 在展示这个整数时所显示的最大字符数,并不影响其存储范围。int 类型的数据占用 4 个字节,能存储的整数范围是 -2147483648 到 2147483647。这个 11 主要是为了在存储时补零使用,如定义 int(11) 会在输出时补齐 11
位,不影响实际的数值范围。
Step 2
Q:: 什么是 MySQL 的索引?有哪几种类型?
A:: MySQL 的索引是帮助 MySQL 高效查询数据的一种数据结构。主要有以下几种类型:PRIMARY KEY(主键索引)、UNIQUE(唯一索引)、INDEX(普通索引)、FULLTEXT(全文索引)、SPATIAL(空间索引)。索引用于提高数据库查询速度,但也会增加插入、删除和更新操作的时间。
Step 3
Q:: 什么是事务?MySQL 中事务的特性有哪些?
A:: 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。事务具有四个特性:ACID(原子性、一致性、隔离性、持久性)。原子性确保事务中的所有操作要么全部成功,要么全部回滚;一致性确保数据库从一个一致状态转换到另一个一致状态;隔离性保证一个事务的操作对其他事务是隔离的;持久性则保证事务一旦提交,数据将被永久保存。
Step 4
Q:: 什么是 MySQL 的连接?有哪些类型?
A:: MySQL 的连接用于从多个表中检索数据,主要有以下几种类型:INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)、FULL JOIN(全连接,MySQL 不直接支持)、CROSS JOIN(交叉连接)。连接用于合并两个或多个表中的列,根据指定的条件返回结果。
Step 5
Q:: MySQL 中的存储过程和触发器有什么区别?
A:: 存储过程是一组预编译的 SQL 语句,可以通过调用来执行。存储过程可以带有输入和输出参数,适用于复杂的业务逻辑处理。触发器则是在表上的特定事件(INSERT、UPDATE 或 DELETE)发生时自动执行的 SQL 语句。触发器不能被显式调用,只能在相应事件发生时触发执行,通常用于实现业务规则和数据完整性约束。