MySQL 能够为整数类型指定宽度,例如 INT(11)
,对大多数应用这是没有意义的:它不会限制值的合法范围,只是规定了 MySQL 的一些交互工具(例如 MySQL 命令行客户端)用来显示字符的个数。对于存储和计算来讲,INT(1)
和 INT(20)
是相同的。只有使用 ZEROFILL
属性时,指定长度才有意义(按照指定长度进行零的填充)。html
因此,在不使用 ZEROFILL
时,不须要指定整形的长度。工具
1 byte
( 8 bit
) 。使用无符号类型(UNSIGNED
)时,8
位都是 1
时所表示的十进制数为 255
,因此其可存储的范围为 0 ~ 255
。使用有符号类型时,范围为 -128 ~ 127
。2 byte
,可存储的无符号范围为 0 ~ 65535
,有符号范围为 -32768 ~ 32767
。3 byte
,可存储的无符号范围为 0 ~ 16777215
,有符号范围为 -8388608 ~ 8388607
。4 byte
,可存储的无符号范围为 0 ~ 4294967295
,有符号范围为 -2147483648 ~ 2147483647
。8 byte
,可存储的无符号范围为 0 ~ 18446744073709551615
,有符号范围为 -9223372036854775808 ~ 9223372036854775807
。参考连接:MySQL 整型长度的含义编码
CHAR命令行
Hello!
” 和 “你好,世界!
” 都是能够的。最大长度
为 255
个字符。VARCHARcode
TINYTEXThtm
255 byte
的文本内容,也就是说在 UTF8
编码下能够存储 255
个英文字母/英文符号,而汉字/中文符号最多只能存储 85
(255/3
)个。如下类型一样可推算。TEXTblog
65535 byte 约等于 65KB
的文本内容。MEDIUMTEXT字符串
16777215 byte 约等于 16MB
的文本内容。LONGTEXTget
4294967295 byte 约等于 4GB
的文本内容。TIMESTAMPit
1970-01-01 00:00:01 UTC
到 2038-01-09 03:14:07 UTC
(UTC
转换成东八区时间须要 +08:00
),存储为自纪元(1970-01-01 00:00:00 UTC
)起的秒数。'2019-06-11 23:18:45'
,执行 INSERT
或 UPDATE
操做时,也是须要传入一个日期时间字符串。6
。例如,当精度为 5
时查询或传入的字符串形式为 '2019-06-12 13:22:21.35927'
。用于存储 JSON
文本,不能够指定长度,不能够设定默认值。