Numeric Data Type Syntax
整数数据类型,M表示最大显示宽度。最大的显示宽度是255。
1.BIT[(M
)]
一个比特值的类型。M表示每个值的比特数,从1到64。默认是1如果M是省略了。
2.TINYINT[(M
)] [UNSIGNED] [ZEROFILL]
一个非常小的整数。签署的范围是-128到127。无符号的范围是0到255。
3.[BOOL
][BOOLEAN
]
这些类型是同义词非常小的整数(1)。零值被认为是错误的。非零值被认为是正确的。
4.SMALLINT[(M
)] [UNSIGNED] [ZEROFILL]
一个小整数。签署的范围是-32768到32767。无符号的范围是0到65535。
5.MEDIUMINT[(M
)] [UNSIGNED] [ZEROFILL]
一个中等大小的整数。签署的范围是-8388608到8388607。无符号的范围是0到16777215。
6.INT[(M
)] [UNSIGNED] [ZEROFILL]
把普通的整数。签署的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
7.INTEGER[(M
)] [UNSIGNED] [ZEROFILL]
这种类型是INT的同义词。
8.BIGINT[(M
)] [UNSIGNED] [ZEROFILL]
一个大整数。签署的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。
9.DECIMAL[(M
[,D
])] [UNSIGNED] [ZEROFILL]
拥挤的“精确”定点数。M是数字的总数(精度)和D是小数点后的位数(规模)。小数点和(负数)-签署不计入m .如果D = 0,没有小数点或小数部分的值。的最大数量的小数位数(M)是65。支持小数(D)的最大数量是30。如果D省略,默认是0。如果M省略,默认是10。
10.DEC[(M
[,D
])] [UNSIGNED] [ZEROFILL]
这些类型是同义词小数。固定的同义词是用于与其他数据库系统的兼容性。
11.FLOAT[(M
,D
)] [UNSIGNED] [ZEROFILL]
一个小单精度浮点数。容许值-3.402823466 e+38 -1.175494351 38吗,0和1.175494351 3.402823466 e+38 38吗。这些都是理论上的限制,基于IEEE标准。实际的范围可能会略小的根据你的硬件或操作系统。 M是数字的总数和D是小数点后位数的数量。如果M和D是省略了,值存储限制允许的硬件。一个单精度浮点数字精确到小数点后约7。
浮动(M, D)是一个非标准MySQL扩展。
无符号,如果指定,不允许负值。
12.DOUBLE[(M
,D
)] [UNSIGNED] [ZEROFILL]
把普通的双精度浮点数。容许值是-1.7976931348623157 e + 308 - -2.2250738585072014 e - 308, 0, 1.7976931348623157和2.2250738585072014 e - 308 e + 308。这些都是理论上的限制,基于IEEE标准。实际的范围可能会略小的根据你的硬件或操作系统。
M是数字的总数和D是小数点后位数的数量。如果M和D是省略了,值存储限制允许的硬件。双精度浮点数是准确到小数点后大约15。
双(M, D)是一个非标准的MySQL扩展。
无符号,如果指定,不允许负值。
13.DOUBLE PRECISION[(M
,D
)] [UNSIGNED] [ZEROFILL]
这些类型是双的同义词。例外:如果启用了REAL_AS_FLOAT SQL模式,真正是一个浮动的同义词,而逾一倍。
Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
MySQL支持SQL标准的整数类型的整数(或INT)和短整型。对标准的一种扩展,MySQL也支持整数类型非常小的整数,MEDIUMINT,长整型数字。下面的表显示了所需的存储为每个整数类型和范围。
IFixed-Point Types (Exact Value) - DECIMAL, NUMERIC
小数点和数字类型存储确切数字数据值。当使用这些类型保存准确的精度是很重要的,例如货币数据。在MySQL中,数字被实现为小数,所以对小数同样适用于数字下面的评论。
在小数列声明,精度和等级可以(而且通常是)指定。例如:
salary DECIMAL(5,2)
在这个例子中,5是精密和2是规模。精度是有效数字存储的值的数量,和代表的数量规模可以存储小数点后的位数。
标准的SQL需要小数(5,2)能够存储任何五位数的值和两个小数,所以工资列中的值,可以存储从-999.99到999.99不等。
在标准的SQL语法小数(M)相当于小数(M, 0)。同样,语法小数等于十进制(M, 0),许可决定的价值,实现M . MySQL支持这两种变体的十进制形式语法。M的默认值是10。
如果规模为0,不包含小数点或小数部分十进制值。
为十进制数字的最大数量是65,但是实际的范围对于一个给定的十进制列可以制约精度或规模对于一个给定的列。当这样的一个列赋值与数字小数点后超过允许通过指定的规模,规模的值转换为。(精确的行为是特定于操作系统的,但是一般效果截断允许数量的数字)。
Floating-Point Types (Approximate Value) - FLOAT, DOUBLE
浮动和双类型表示近似数值数据值。MySQL使用四字节为单精度值和8字节双精度值。
浮动的SQL标准允许一个可选的规范的精度(但不是指数的范围)在部分关键字漂浮在括号;;也就是说,浮子(p)。MySQL也支持这个可选精度规范,但浮动(p)的精确值是只用来确定存储大小。精密从0到23日的结果在一个4字节单精度浮点列。精度从24到53的结果在一个8字节双精度双字段。
MySQL允许非标准语法:浮动(M, D)或真实(M, D)或双精度(M, D)。这里,(M, D)意味着比值可以存储到M数字,其中D数字小数点后。例如,某一列定义为浮动(7 4)看起来像-999.9999时显示。MySQL执行存储值舍入的时候,如果你插入999.00009浮动(7,4)列,近似的结果是999.0001。
为了获得最大的可移植性,代码需要存储的近似数值数据值应该使用浮动或双精度没有精确的规格或数量的数字。
Bit-Value Type - BIT
一点一点数据类型用于存储值。一种钻头(M)允许存储的位值。M的范围可以从1到64。
指定位的值,可以使用b 'value '符号。值是一个二进制值写使用0和1。例如,b‘111’和b“10000000”代表7和128年,分别。9.1.5看到部分,“比特值的文字”。
如果你分配一个值(M)列小于M位长,左边的值填充0。例如,分配一个值b的‘101’(6)列,实际上,一样的分配b‘000101’。
NDB集群。一些列的最大结合大小用于给定NDB表不得超过4096位。