MySQL 数据类型详解
1. 数据类型分类
MySQL 的数据类型主要分为数值、字符串、日期时间以及枚举集合等几大类。合理选择类型有助于优化存储空间与查询性能。

2. 数值类型
2.1 TinyInt 类型
TinyInt 用于存储小范围的整数。整型可以指定为有符号或无符号(unsigned),默认是有符号的。

实际开发中建议谨慎使用 unsigned。若 int 无法容纳数据,应升级为 bigint,而非依赖 unsigned 扩展范围。数据类型本身就是一种约束,就像 C/C++ 中 char a = 1234567; 会有问题一样,MySQL 也会对数据类型进行检查。当你向特定类型的字段插入不合法数据时,MySQL 会直接拦截,阻止操作。反之,如果数据已经成功插入,就说明插入时一定是合法的。这保证了数据的可预期性和完整性,倒逼程序员进行正确的数据插入。

2.2 Bit 类型
Bit[(M)] 是位字段类型,M 表示每个值的位数,范围从 1 到 64。如果 M 被忽略,默认为 1。

注意版本差异,在旧版本中 bit 字段显示可能异常,因为它是按照 ASCII 码对应的值显示的。0x00 和 0x01 是不可打印的控制字符,因此看起来'不显示'。

通过 desc 命令可以查看 bit 类型设置的位数。

2.3 Float 类型
Float[(m, d)] [unsigned] 中,M 指定显示长度,D 指定小数位数,占用空间 4 个字节。

















