您的位置:首页 > 数据库 > MySQL

mysql字段类型

2009-08-06 14:27 344 查看
http://hi.baidu.com/zr443/blog/item/e3d81a542154175fd009067a.html

数字类型

列类型需要的存储量范围
TINYINT
1 字节有符号的范围是-128到127,无符号的范围是0到255
SMALLINT
2 个字节有符号的范围是-32768到32767,无符号的范围是0到65535
MEDIUMINT
3 个字节有符号的范围是-8388608到8388607,无符号的范围是0到16777215
INT
4 个字节有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295
INTEGER
4 个字节INT的一个同义词
BIGINT
8 个字节有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615
FLOAT(X)
4 如果 X < = 24 或 8
如果 25 < = X < = 53
一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和 1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24 的一个 参数表示一个单精密浮点数字。
FLOAT
4 个字节
DOUBLE
8 个字节一个正常大小(双精密)浮点数字。不能无符号。
允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、
0和2.2250738585072014E-308到1.7976931348623157E+308。
DOUBLE PRECISION
8 个字节
REAL
8 个字节这些是DOUBLE同义词
DECIMAL(M,D)
M
字节(
D
+2 , 如果
M < D
)
一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列:“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符
NUMERIC(M,D)
M
字节(
D
+2 , 如果
M < D
)
这是DECIMAL的一个同义词

日期和时间类型

列类型需要的存储量备注
DATE
3 个字节1000-01-01~9999-12-31 3字节(MySQL3.23版以前是4字节 ) 0000-00-00
DATETIME
8 个字节1000-01-01 00:00:00~9999-12-31 23:59:59 8字节 0000-00-00 00:00:00
TIMESTAMP
4 个字节19700101000000~2037年的某个时刻 4字节 00000000000000
TIME
3 个字节-838:59:59~838:59:59 3字节 00:00:00
YEAR
1 字节YEAR(4):1901~2155 YEAR(2):1970~2069 1字节 0000

串类型

列类型需要的存储量备注
CHAR(M)
M
字节,
1 <= M <= 255
VARCHAR(M)
L
+1 字节, 在此
L <= M
1 <= M <= 255
TINYBLOB
,
TINYTEXT
L
+1 字节, 在此
L
< 2 ^ 8
最大长度为255(2^8-1)个字符
BLOB
,
TEXT
L
+2 字节, 在此
L
< 2 ^ 16
最大长度为65535(2^16-1)个字符
MEDIUMBLOB
,
MEDIUMTEXT
L
+3 字节, 在此
L
< 2 ^ 24
最大长度为16777215(2^24-1)个字符
LONGBLOB
,
LONGTEXT
L
+4 字节, 在此
L
< 2 ^ 32
最大长度为4294967295(2^32-1)个字符
ENUM('value1','value2',...)
1 或 2 个字节, 取决于枚举值的数目(最大值65535)
SET('value1','value2',...)
1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员)
ZEROFILL属性适用于所有数值类数据列类型,作用是,如果数值的宽度小于定义的显示宽度,则在数值前填充0。
UNSIGNED属性不允许数据列出现负数。
AUTO_INCREMENT属性可生成独一无二的数字序列。只对整数类的数据列有效。
NULL和NOT NULL属性设置数据列是否可为空。
DEFAULT属性可为数据列指定默认值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: