2024年4月27日发(作者:)
MySQL 列类型概述
MySQL支持多种列类型:数值类型、日期/时间类型和字符串(字符)类型。几种列类型描述使用了下述
惯例:
M
表示最大显示宽度,最大有效显示宽度是255;
D
适用于浮点和定点类型,并表示小数点后面的
位数。最大可能的值是30,但不应大于
M
-2。方括号([])表示可选部分。
1、数值类型概述
如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。SERIAL是BIGINT UNSIGNED NOT
NULL AUTO_INCREMENT UNIQUE的一个别名。在整数列定义中,SERIAL DEFAULT VALUE是NOT NULL
AUTO_INCREMENT UNIQUE的一个别名。
类型范围说明:
类型
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
1.1、BIT
BIT[(M)]
位字段类型。M表示每个值的位数,范围为从1到64。如果M被省略, 默认为1。
1.2、INYINT
INYINT[(M)] [UNSIGNED] [ZEROFILL]
很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
1.3、BOOL
BOOL,BOOLEAN
是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。在将来,将根据标准SQL引入完全布尔类
型的处理。
字节
1
2
3
4
8
最小值
带符号的 -128
无符号0
带符号的 -32768
无符号0
带符号的-8388608
无符号0
带符号的-2147483648
无符号0
带符号的
-9223372
无符号0
最大值
127
255
32767
65535
8388607
16777215
2147483647
4294967295
9223372
18446744
1.4、SMALLINT
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
1.5、MEDIUMINT
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
1.6、INT
INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
1.7、INTEGER
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
这是INT的同义词。
1.8、BIGINT
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
大整数。带符号的范围是-9223372到9223372。无符号的范围是0到
18446744。
1.9、FLOAT
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
小(单精度)浮点数。允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到
3.402823466E+38。这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小
些。
M是小数纵位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮
点数精确到大约7位小数位。
如果指定UNSIGNED,不允许负值。
使用浮点数可能会遇到意想不到的问题,因为在MySQL中的所有计算用双精度完成。
1.10、DOUBLE
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
普通大小(双精度)浮点数。允许的值是-1.7976931348623157E+308到-2.2254E-308、0和
2.2254E-308到 1.7976931348623157E+308。这些是理论限制,基于IEEE标准。实际的范围
发布评论