MySQL-数字类型_整形
一、关于单位的约定与概念
- M:根据具体不同的类型,其表示的意思不一样
- 对于整形,它表示展示宽度(display width)
- 对于定点数(fixed point)或浮点数(floating point),表示能够存储的总位数,即精度
- 对于字符串,表示能够存储的字符串长度
- D:用于定点及浮点数,表示小数点后有多少位。最大可能取值为 30,但不应该超过 M-2
- fsp:适用于 TIME, DATETIME 及 TIMESTAMP。可理解秒后面的小数点位数。它应该是介于 0~6 之间的,0 表示没有小数部分(fractin part)。默认为 0
- [ ] 方括号:表示类型中可选的部分
展示宽度:展示宽度这个参数具有迷惑性,它不像 CHAR(M)
中有实际意义表示能够存储的字符串长度。在数字类型中,它指数字展示时需要的宽度,是 MySQL 格式化时使用的。即 INT(5)
,INT(15)
,INT(25)
能够存储的数字范围都是 INT
类型的范围 -2147483648 ~ 2147483647。如果指定了 ZEROFILL
,MySQL 在返回该数字时,对于实际位数小于展示宽度的数字,将自动在左边补零。比如列的类型为 INT(5)
,实际存储了数字 5,返回时会得到 00005
。对于没有指定 ZEROFILL
或实际存储的位数大于指定的展示宽度,则不会自动补零,此时看上去没有任何效果。