MySQL字段类型。
按下列约定给出类型名说明:PHPChina 开源社区门户yR^]ZkM"FQ
方括号( [ ]) 可选信息。PHPChina 开源社区门户8Z'[)wtd+`^$GJ
M 最大显示宽度。除非另有说明,否则M 应该是一个1到255 之间的整数。PHPChina 开源社区门户m~,u.K!~!n"~
D 有小数部分的类型的小数位数。D 为一个0 到30 之间的整数。D 应该小于等于M - 2。否则,M 的值将调整为D + 2。PHPChina 开源社区门户+?f0xiIq k
在ODBC 术语中,M 和D 称为“精度”和“小数位数”。PHPChina 开源社区门户8]BY(XlV
为了描述每种类型,提供下列一个或多个信息:
)I\#~%l${0 说明 该类型的简短说明。PHPChina 开源社区门户|3c [_"K{n
允许的属性 在CREATE TABLE 或ALTER TABLE 语句中与该类型相关的可选属性关键字。属性按字母顺序列出,但这个顺序并不一定与CREATE TABLE 或ALTE R TABLE 中使用的顺序相对应。关于这些语句的语法请参阅附录D。每种列类型在说明中列出的属性为通用属性之外的属性。PHPChina 开源社区门户6r;ESa$_?!F
允许的长度 串类型的列值所允许的最大长度。
vZ ~:yf^^0 取值范围 对于数值或日期与时间类型,该类型可表示的值的范围。对于整数数值类型,给出两个取值范围,因为整数列可以是有符号或无符号的,有符号或无符号的取值范围是不同的。PHPChina 开源社区门户 D,bnJCkS_&ZfE
零值 对于日期和时间类型,如果将非法值插入该列,则存入一个“零”值。
Pn7QW-y^(QO0 缺省值 类型说明中不明确给出D E FA U LT 属性时的缺省值。
/S+X G~K+i7]]0 存储需求 存储该类型的值所需的字节数。对于有的类型,这个值是固字的。而这个值在有些类型中根据存放在列中的值的不同是可变的。PHPChina 开源社区门户/xE/hc{G6}{
比较 对于串类型,比较是否是区分大小写的。这对排序和索引有效,因为这些操作根据比较进行的。
HZi'A+~T0 同义词 该类型名的同义词。
"r,q!KxB,L0 注释 关于该类型的一些杂项说明。PHPChina 开源社区门户,O-y*r\z
通用属性 有的属性对所有类型或对于几乎所有类型都适用。它们列在这里,而不是列在每种类型的说明中。可对任何类型指定NULL 或NOT NULL 属性。还可对所有类型指定D E FA U LT default_value。PHPChina 开源社区门户8H g^y+zE)nPT
PHPChina 开源社区门户7[Z2KbvjT.]NGo
MYSQL数值类型
"R6sZ~f"}x0u0PHPChina 开源社区门户g]~b6V;z
MySQL提供了整数和浮点数的数值类型。可根据所要表示的值的范围选择相应的类型。
!k1fQmun|0 对于整数类型,如果指定了AUTO_INCREMENT 属性,则列必须为PRIMARY KEY 或UNIQUE 索引。将NULL 插入AUTO_INCREMENT 列将会插入一个大于该列中当前最大值的值。如果指定了UNSIGNED 属性,则相应的整数类型不允许取负值。
;N)XGU*Z%]v:y0 如果指定了ZEROFILL 属性,则用前导零填充数值类型值以达到列的显示宽度。
V rz"p+uk2e0PHPChina 开源社区门户ZU.pX#Z7X,e^6U!p
1. TINYINT[(M)]PHPChina 开源社区门户5T,{9ZC eT
PHPChina 开源社区门户i T-~}F]X5m
说明:非常小的整数PHPChina 开源社区门户1s9Fk!p5Y0\1e
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户C E{csJ
取值范围:-128 到127(-27 到27-1),或者如果为U N S I G N E D,则0 到2 5 5(0 到2 8-1)PHPChina 开源社区门户"l"HZQ^`+coit mkB
缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
:|i }0a[(u0 存储需求:1字节PHPChina 开源社区门户L/Kj([?0SY^
VJ0K @vi0 2. SMALLINT[(M)]
@Ar*fB{ He:b0
A/D^~)WA0 说明:小整数
c|PUO0Q#uE0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户z\R[N W tV
取值范围:-32768 到3 27 6 7(-215 到215-1),或者如果为U N S I G N E D,则0 到6 5 5 3 5 (0 到216-1)
CX(n{1v'Zh!eSd[0 缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
]^ E)c2d&?0 存储需求:2 字节
:rp&Q)^v$n2Z/e0PHPChina 开源社区门户)[G]Mh@X V/J1[z:p
3. MEDIUMINT[(M)]PHPChina 开源社区门户\W~/F.C
Q8gD!GXLN0 说明:中等大小的整数
rG'o8r `5N)^)y0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
u6X-i7}&m8u#A+P0 取值范围:-8388608 到8 3 8 8 6 07(-22 3 到22 3-1),或者如果为U N S I G N E D,则0 到16 7 7 2 15(0 到22 4-1)PHPChina 开源社区门户O0f sR'Mi
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
+s|n,RfK0 存储需求:4 字节
,@ U wd1^_0PHPChina 开源社区门户Y$qqux3?']
4. INT[(M)]
S,G%J3S)B%`0
[`~7f~9_K2hB\0 说明:标准大小的整数
3s f%aL"p+\0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
/MeV(|F/W#U5BnU/n0 取值范围:-2147483648 到2 14 7 4 8 3 6 4 7(-231到2 3 1-1),或者如果为U N S I G N E D,则0 到4 2 9 4 9 6 7 2 9 5(0 到2 3 2-1)
h~7zz*JM*w0 缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0PHPChina 开源社区门户]|T~t3fqhq+I
存储需求:4 字节PHPChina 开源社区门户+w$b bg&UXuI
同义词:I N T E G E R [(M)]PHPChina 开源社区门户or-q!r6|,_$@
PHPChina 开源社区门户|+B)j Db,L
5. BIGINT[(M)]
bA?2WHw0
:|+r f/_X:a%jK$R&T0 说明:大整数
9R8I?m ?n:D0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户&{0b^+PfL
取值范围:-9223372036854775808 到9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07(-263 到2 6 3-1),或者如果为U N S I G N E D,则0 到18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 15(0 到26 4 -1)PHPChina 开源社区门户c6d!x+@OMW
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
yqGV+Mb n#y;L$J S0 存储需求:8 字节
.G;eLPu UcC5S0
#FT `0~$ZpO0 6. FLOAT [(M, D)]
/s?e }%JM1}?0
Y9Ss#{f0 说明:小浮点数;单精度(精度小于D O U B L E)
Y#Jx4C/H0 允许的属性:Z E R O F I L L
j[GI4B ^X0 取值范围:最小非零值为±1.75494351E -38; 最大非零值为±3 . 4 0 2 8 2 3 4 6 6 E + 3 8PHPChina 开源社区门户ST+`c5j?(Z&Z
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0PHPChina 开源社区门户hrZKeJ6r*^F
存储需求:4 字节PHPChina 开源社区门户E*w\5}5n*v%Np _h$o
同义词:MySQL3.23 版以前,FLOAT(4) 为具有缺省M 和D 值的FLOAT的同义词。
5rk/K r(|W0 注释:在MySQL3.23 以后,FLOAT(4) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)
D\oe6y'D\ x0
9Y+xGN*d9eSr2b^b0 7. DOUBLE[(M, D)]PHPChina 开源社区门户gn6\I&Y
oh;F0[3[9t p:x0 说明:大浮点数;双精度(比FLOAT更精确)PHPChina 开源社区门户6c {8QU dPk]
允许的属性:Z E R O F I L LPHPChina 开源社区门户RZ7f"oUr&H;V.CS(o/p2a
取值范围:最小非零值为±2 . 2 2 5 07 3 8 5 8 5 07 2 0 14 E -308; 最大非零值为±1。7 9 7 6 9 3 13 - 4 8 6 2 3 15 7 E + 3 0 8
2hgvTOA Kh%u0 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0PHPChina 开源社区门户`&Ti Him
存储需求:8 字节
&s]!DIB$e.u0 同义词:DOUBLE PRECISION[(M, D)] 和R E A L [ (M, D)] 为D O U B L E [(M, D)] 的同义词。MySQL3.23 版以前,FLOAT(8) 为具有缺省M 和D 值的FLOAT的同义词。
T$N4r"Q]&fEmloGU2a0 注释:在MySQL3.23 以后,FLOAT(8) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。
!c!? x&O7l @}4o B+dtw0
uJA vD0 8. DECIMAL(M, D)PHPChina 开源社区门户TG#fa?"o
PHPChina 开源社区门户 { ` x q;o'f
说明:存储为串的浮点数(每位数字、小数点或“-”号都占1字节)。
t@O&c(_/h~}-Kv0 允许的属性:Z E R O F I L LPHPChina 开源社区门户WQ/i}J.ANQ7?
取值范围:最大取值范围与DOUBLE 相同;给定DECIMAL 类型的有效取值范围由M和D 决定。如果D 为零,则列值无小数点或小数部分。PHPChina 开源社区门户9m#U;R.mh1I%Qu-@Z
缺省值:如果列可为NULL,则为NULL,如果列为NOT NULL,则为0PHPChina 开源社区门户-f(_8rP#y
存储需求:对于MySQL3.23 前的版本,为M 字节,而MySQL3.23 以后的版本,为M + 2 字节。
,SVOH(G TD0 同义词:N U M E R I C (M, D)
V5EN.eJy0 注释:在MySQL3.23 以后,M 的值为符合ANSI SQL 标准,不包括符号字符或小数点所占的字节数。PHPChina 开源社区门户u4tBa;^,f
xec"I-pw]$s0MYSQL串类型PHPChina 开源社区门户P|;]*w+^N h
uU:v,uB;`s8nL&i0 MySQL的串类型常用来存储文本,它不但是通用的而且还能存储任何数据。可用串类型来存储最大长度可变的值,而且可以选择在处理值时是否区分大小写。PHPChina 开源社区门户7g j1qbf
l O _N0_ O*Z4t a0 1. CHAR(M)
'R U5I6r!X N$@&r0
jio a9n'Y0 说明:0 到M 字节长的定长字符串。在MySQL3.23 版以前,M 应该为一个1到255 之间的整数。而MySQL3.23 版以后,M 应该为一个0 到255 之间的整数。短于M 个字符的串存储进右边补空格。长于M 个字符的串存储时剪断为长度是M 的串。在检索值时,去掉后跟的空格。PHPChina 开源社区门户_ u @TJ
允许的属性:B I N A RYPHPChina 开源社区门户s*I$h&x
方括号( [ ]) 可选信息。PHPChina 开源社区门户8Z'[)wtd+`^$GJ
M 最大显示宽度。除非另有说明,否则M 应该是一个1到255 之间的整数。PHPChina 开源社区门户m~,u.K!~!n"~
D 有小数部分的类型的小数位数。D 为一个0 到30 之间的整数。D 应该小于等于M - 2。否则,M 的值将调整为D + 2。PHPChina 开源社区门户+?f0xiIq k
在ODBC 术语中,M 和D 称为“精度”和“小数位数”。PHPChina 开源社区门户8]BY(XlV
为了描述每种类型,提供下列一个或多个信息:
)I\#~%l${0 说明 该类型的简短说明。PHPChina 开源社区门户|3c [_"K{n
允许的属性 在CREATE TABLE 或ALTER TABLE 语句中与该类型相关的可选属性关键字。属性按字母顺序列出,但这个顺序并不一定与CREATE TABLE 或ALTE R TABLE 中使用的顺序相对应。关于这些语句的语法请参阅附录D。每种列类型在说明中列出的属性为通用属性之外的属性。PHPChina 开源社区门户6r;ESa$_?!F
允许的长度 串类型的列值所允许的最大长度。
vZ ~:yf^^0 取值范围 对于数值或日期与时间类型,该类型可表示的值的范围。对于整数数值类型,给出两个取值范围,因为整数列可以是有符号或无符号的,有符号或无符号的取值范围是不同的。PHPChina 开源社区门户 D,bnJCkS_&ZfE
零值 对于日期和时间类型,如果将非法值插入该列,则存入一个“零”值。
Pn7QW-y^(QO0 缺省值 类型说明中不明确给出D E FA U LT 属性时的缺省值。
/S+X G~K+i7]]0 存储需求 存储该类型的值所需的字节数。对于有的类型,这个值是固字的。而这个值在有些类型中根据存放在列中的值的不同是可变的。PHPChina 开源社区门户/xE/hc{G6}{
比较 对于串类型,比较是否是区分大小写的。这对排序和索引有效,因为这些操作根据比较进行的。
HZi'A+~T0 同义词 该类型名的同义词。
"r,q!KxB,L0 注释 关于该类型的一些杂项说明。PHPChina 开源社区门户,O-y*r\z
通用属性 有的属性对所有类型或对于几乎所有类型都适用。它们列在这里,而不是列在每种类型的说明中。可对任何类型指定NULL 或NOT NULL 属性。还可对所有类型指定D E FA U LT default_value。PHPChina 开源社区门户8H g^y+zE)nPT
PHPChina 开源社区门户7[Z2KbvjT.]NGo
MYSQL数值类型
"R6sZ~f"}x0u0PHPChina 开源社区门户g]~b6V;z
MySQL提供了整数和浮点数的数值类型。可根据所要表示的值的范围选择相应的类型。
!k1fQmun|0 对于整数类型,如果指定了AUTO_INCREMENT 属性,则列必须为PRIMARY KEY 或UNIQUE 索引。将NULL 插入AUTO_INCREMENT 列将会插入一个大于该列中当前最大值的值。如果指定了UNSIGNED 属性,则相应的整数类型不允许取负值。
;N)XGU*Z%]v:y0 如果指定了ZEROFILL 属性,则用前导零填充数值类型值以达到列的显示宽度。
V rz"p+uk2e0PHPChina 开源社区门户ZU.pX#Z7X,e^6U!p
1. TINYINT[(M)]PHPChina 开源社区门户5T,{9ZC eT
PHPChina 开源社区门户i T-~}F]X5m
说明:非常小的整数PHPChina 开源社区门户1s9Fk!p5Y0\1e
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户C E{csJ
取值范围:-128 到127(-27 到27-1),或者如果为U N S I G N E D,则0 到2 5 5(0 到2 8-1)PHPChina 开源社区门户"l"HZQ^`+coit mkB
缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
:|i }0a[(u0 存储需求:1字节PHPChina 开源社区门户L/Kj([?0SY^
VJ0K @vi0 2. SMALLINT[(M)]
@Ar*fB{ He:b0
A/D^~)WA0 说明:小整数
c|PUO0Q#uE0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户z\R[N W tV
取值范围:-32768 到3 27 6 7(-215 到215-1),或者如果为U N S I G N E D,则0 到6 5 5 3 5 (0 到216-1)
CX(n{1v'Zh!eSd[0 缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
]^ E)c2d&?0 存储需求:2 字节
:rp&Q)^v$n2Z/e0PHPChina 开源社区门户)[G]Mh@X V/J1[z:p
3. MEDIUMINT[(M)]PHPChina 开源社区门户\W~/F.C
Q8gD!GXLN0 说明:中等大小的整数
rG'o8r `5N)^)y0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
u6X-i7}&m8u#A+P0 取值范围:-8388608 到8 3 8 8 6 07(-22 3 到22 3-1),或者如果为U N S I G N E D,则0 到16 7 7 2 15(0 到22 4-1)PHPChina 开源社区门户O0f sR'Mi
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
+s|n,RfK0 存储需求:4 字节
,@ U wd1^_0PHPChina 开源社区门户Y$qqux3?']
4. INT[(M)]
S,G%J3S)B%`0
[`~7f~9_K2hB\0 说明:标准大小的整数
3s f%aL"p+\0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
/MeV(|F/W#U5BnU/n0 取值范围:-2147483648 到2 14 7 4 8 3 6 4 7(-231到2 3 1-1),或者如果为U N S I G N E D,则0 到4 2 9 4 9 6 7 2 9 5(0 到2 3 2-1)
h~7zz*JM*w0 缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0PHPChina 开源社区门户]|T~t3fqhq+I
存储需求:4 字节PHPChina 开源社区门户+w$b bg&UXuI
同义词:I N T E G E R [(M)]PHPChina 开源社区门户or-q!r6|,_$@
PHPChina 开源社区门户|+B)j Db,L
5. BIGINT[(M)]
bA?2WHw0
:|+r f/_X:a%jK$R&T0 说明:大整数
9R8I?m ?n:D0 允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILLPHPChina 开源社区门户&{0b^+PfL
取值范围:-9223372036854775808 到9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07(-263 到2 6 3-1),或者如果为U N S I G N E D,则0 到18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 15(0 到26 4 -1)PHPChina 开源社区门户c6d!x+@OMW
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
yqGV+Mb n#y;L$J S0 存储需求:8 字节
.G;eLPu UcC5S0
#FT `0~$ZpO0 6. FLOAT [(M, D)]
/s?e }%JM1}?0
Y9Ss#{f0 说明:小浮点数;单精度(精度小于D O U B L E)
Y#Jx4C/H0 允许的属性:Z E R O F I L L
j[GI4B ^X0 取值范围:最小非零值为±1.75494351E -38; 最大非零值为±3 . 4 0 2 8 2 3 4 6 6 E + 3 8PHPChina 开源社区门户ST+`c5j?(Z&Z
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0PHPChina 开源社区门户hrZKeJ6r*^F
存储需求:4 字节PHPChina 开源社区门户E*w\5}5n*v%Np _h$o
同义词:MySQL3.23 版以前,FLOAT(4) 为具有缺省M 和D 值的FLOAT的同义词。
5rk/K r(|W0 注释:在MySQL3.23 以后,FLOAT(4) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)
D\oe6y'D\ x0
9Y+xGN*d9eSr2b^b0 7. DOUBLE[(M, D)]PHPChina 开源社区门户gn6\I&Y
oh;F0[3[9t p:x0 说明:大浮点数;双精度(比FLOAT更精确)PHPChina 开源社区门户6c {8QU dPk]
允许的属性:Z E R O F I L LPHPChina 开源社区门户RZ7f"oUr&H;V.CS(o/p2a
取值范围:最小非零值为±2 . 2 2 5 07 3 8 5 8 5 07 2 0 14 E -308; 最大非零值为±1。7 9 7 6 9 3 13 - 4 8 6 2 3 15 7 E + 3 0 8
2hgvTOA Kh%u0 缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0PHPChina 开源社区门户`&Ti Him
存储需求:8 字节
&s]!DIB$e.u0 同义词:DOUBLE PRECISION[(M, D)] 和R E A L [ (M, D)] 为D O U B L E [(M, D)] 的同义词。MySQL3.23 版以前,FLOAT(8) 为具有缺省M 和D 值的FLOAT的同义词。
T$N4r"Q]&fEmloGU2a0 注释:在MySQL3.23 以后,FLOAT(8) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。
!c!? x&O7l @}4o B+dtw0
uJA vD0 8. DECIMAL(M, D)PHPChina 开源社区门户TG#fa?"o
PHPChina 开源社区门户 { ` x q;o'f
说明:存储为串的浮点数(每位数字、小数点或“-”号都占1字节)。
t@O&c(_/h~}-Kv0 允许的属性:Z E R O F I L LPHPChina 开源社区门户WQ/i}J.ANQ7?
取值范围:最大取值范围与DOUBLE 相同;给定DECIMAL 类型的有效取值范围由M和D 决定。如果D 为零,则列值无小数点或小数部分。PHPChina 开源社区门户9m#U;R.mh1I%Qu-@Z
缺省值:如果列可为NULL,则为NULL,如果列为NOT NULL,则为0PHPChina 开源社区门户-f(_8rP#y
存储需求:对于MySQL3.23 前的版本,为M 字节,而MySQL3.23 以后的版本,为M + 2 字节。
,SVOH(G TD0 同义词:N U M E R I C (M, D)
V5EN.eJy0 注释:在MySQL3.23 以后,M 的值为符合ANSI SQL 标准,不包括符号字符或小数点所占的字节数。PHPChina 开源社区门户u4tBa;^,f
xec"I-pw]$s0MYSQL串类型PHPChina 开源社区门户P|;]*w+^N h
uU:v,uB;`s8nL&i0 MySQL的串类型常用来存储文本,它不但是通用的而且还能存储任何数据。可用串类型来存储最大长度可变的值,而且可以选择在处理值时是否区分大小写。PHPChina 开源社区门户7g j1qbf
l O _N0_ O*Z4t a0 1. CHAR(M)
'R U5I6r!X N$@&r0
jio a9n'Y0 说明:0 到M 字节长的定长字符串。在MySQL3.23 版以前,M 应该为一个1到255 之间的整数。而MySQL3.23 版以后,M 应该为一个0 到255 之间的整数。短于M 个字符的串存储进右边补空格。长于M 个字符的串存储时剪断为长度是M 的串。在检索值时,去掉后跟的空格。PHPChina 开源社区门户_ u @TJ
允许的属性:B I N A RYPHPChina 开源社区门户s*I$h&x