我们来看看整数类型在官方文档中的语法
⊙ TINYINT[(M)] [UNSIGNED] [ZEROFILL]
⊙ SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
⊙ MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
⊙ INT[(M)] [UNSIGNED] [ZEROFILL]
⊙ BIGINT[(M)] [UNSIGNED] [ZEROFILL]
注:’[]’表示此属性可选
其中上面的(M) 表示的是最大显示宽度。最大有效显示宽度是 255。这个显示宽度的作用只是在用于数值显示时,
对值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也不限制超过列的
指定宽度的值的显示。这个显示宽度在面试的时候常常会被问到,很多程序猿和 DBA 都误以为此列就是存储
宽度。
1.1 数据类型属性
在介绍数据类型前,先来介绍两个属性:UNSIGNED 和 ZEROFILL,是否使用这两个属性对选择
数据类型有着莫大的关系。
1.1.1 UNSIGNED
所有的整数类型都有一个 UNSIGNED 属性。当需求是在列内只允许非负数和这一列需要较大的上限数值范围
时可以使用无符号值。
UNSIGNED 属性就是将数字类型无符号化,与 C、C++这些程序语言中的 unsigned 含义相同。例如,INT 的类
型范围是-2147483648到2147483647,INT UNSIGNED 的范围类型则是0到4294967295
评论