现在的位置: 首页 > 综合 > 正文

mysql字段类型

2013年09月10日 ⁄ 综合 ⁄ 共 1719字 ⁄ 字号 评论关闭

数字类型

列类型 需要的存储量 范围
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 <= M1 <= 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属性可为数据列指定默认值。

抱歉!评论已关闭.