mysql学习系列(三)
2015-10-29
- 作者:tomfans
- 本文地址:http://f-olivia.github.io/database/2015/09/26/mysql/
- 转载请注明出处
#####三、数值类型
支持标准SQL2003所有数值类型,在前面“概述”已经描述过,具体:
1 整型(interger data)
- TINYINT
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
表1:
Type | 存储(Bytes) | Min Value (Signed/Unsigned) | Max Value (Signed/Unsigned) |
TINYINT | 1 | -128 | 127 |
0 | 255 | ||
SMALLINT | 2 | -32768 | 32767 |
0 | 65535 | ||
MEDIUMINT | 3 | -8388608 | 8388607 |
0 | 16777215 | ||
INT | 4 | -2147483648 | 2147483647 |
0 | 4294967295 | ||
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
0 | 18446744073709551615 |
2 固定宽度(a fixed-point)
- DECIMAL
-
NUMERIC
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] M:代表保存数据的长度,最大为65;默认为10 D:代表小数点部分的位数,最大为30 存储为二进制存储,每9个数字需要4个字节;举例decimal(12,2),整数部分:4+[(12-2)-9]/2=5,小数部分:2/2=1,共计6字节。
如图1:
3 BIT型
BIT[(M)]
M:代表存储长度,1~64bits
存储是二进制位,存储换算:INT((n+7)/8),比如bit(1),为1个字节。
具体操作请看 如图2:
4 浮点型(floating-point)
-
FLOAT:单精度浮点型
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] M:代表保存数据的长度,0~23bytes D:代表小数点部分的位数, 存储为4个字节,如果长度>24,自动转换为DOUBLE。
-
DOUBLE:双精度浮点型
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] M:代表保存数据的长度,24~53bytes D:代表小数点部分的位数, 存储为8个字节, real类型是同义词。
具体操作请看 如图3:
5 数据类型属性
- NOT NULL:不允许为空
- NULL:允许为空
- DEFAULT:默认值
- AUTO_INCREMENT:自增长类型,只有整型为自增长类型
- UNSIGNED:无符号
- ZEROFILL:填充零
具体操作请看 如图4:
blog comments powered by Disqus