MySQL 各种 INTEGER 类型占用存储空间、取值范围一览表

MySQL 数据库设计之各种 INTEGER 类型最佳实践_取值范围


最佳实践

  • UNSIGNED 只能存储非负整数
  • SIGNED 可以存储正整数、0、负整数
  • 对于总是正整数的存储(比如主键)的最佳实践是 UNSIGNED,因为这时它占用和 SIGNED 一样的存储空间,但取值范围多出一倍
  • BOOL、BOOLEAN 只不过是 TINYINT(1) 的另外一种写法而已
  • TINYINT(1)、BOOL、BOOLEAN 所占用的存储空间和 TINYINT 一样,都是一个字节,而不是一位
  • TINYINT(1) 所能存储的值的范围和 TINYINT 一样,都是 -128 到 127
  • TINYINT(1) 只是在显示的时候作为一个位进行输出而已

参考资料