设计动量论坛's Archiver

ofly 发表于 2007-3-17 21:45

MySql中列的类型

MySql中列的类型可以分为三大类:
QRwTI2b:r^;e
$Y2bP1h i~*y u 1.文本类型bVp+b-U G*Wu&i d/~Z
+T _Btk
charr;w cS0U!{Iw k
oz)kj'u
用法:char(length)hI0z3EF!zK#q`Y
gf \8J1U A1z7h
char类型最大长度是255个字符。当插入到表中的字符串的长度小于length时候,将给字段右边不够的部分用空格填补。
#Wc:~9ky!d1|oH
*XtW6~(J1tg varchar^%tRT3H

L.S+{[bK 用法:varchar(length).M2Bd ^"L

wxH;@ j? {:ue7H } varchar的最大长度是255个字符。varchar和char几乎一样,区别在于varchar是变长的类型,不会填补空格。
9mfX1w&N*VG[ !S.jJ[*Yj0F z
tinytexti+Kr#Gj6[
W]5] |4sY:kIe
用法:tinytext Y kkY7W2^K,F
$s+HZ&` iOR*g
tinytext最大长度是255字符。
RCe+?1[g3@
Ut `)D @7lO text
$mx9Q.@3mT.Q3jk
n'yf!qt 用法:text
G7C lYsr
1v0e7z%VC@!C text最大长度是65535(2的17次方)字符。.Luf S!j.m.B

j*y n2t&E XD/J mediumtext
9O9Nhu]Gj3I _,V
(E'\-u\ t 用法:mediumtext
lj!L4Xp&Z
;{["s[H@8@q mediumtext最大长度是16777215个字符。
3T'wP8g!s"Vj*~_
;C fBku longtext
o_u7Q+_~
f{)t!f:Y\)] 用法:longtext
q4q_(dg.[ O X4D|FQ!L'l:oT6J
longtext最大长度是4294976259个字符。
l#s*p(`"Qt%CT/o|
+M7FTkq E"T%f (***tinytext,text,mediumtext,longtext这四种类型,都是可边长字段类型,与varchar一样,只是最大长度不同而已)
9jCH4b5ZF&Q
py1|o[wv\;s enum!AN B;Yk'`3o(t
Q? O~^ s,]'n[tu
用法:enum('value1','value2','value3',....)[default 'value']z6O:[A)yB

1AAD4AVc!tU pd 使用enum的时候,可以限制插入的值只能是括号里包含的值列表中的一个,同时也可以用可选的default 'value'指定缺省情况下的值。
b0MA |"k l^T
A/NOAn:l4V4c set+w4c Q"KuL
vT"d7A-O"f"Ktd
用法:set('value1','value2','value3',...)[default 'value']
py? d#\C&g
#X y Nx9T 使用set的时候,可以限制插入的值只能是括号里包含的值列表中的一个或多个,同时也可以用可选的default 'value'指定缺省情况下的值。
nPn'~P G(Xm n
+pa3L1K1FP
+aN;h5s9G{D K4lO B~l8P_p
2.数字类型
Dd7}U5b;q y b(uz^"a W:Ef
int/integer
j3y%zfDz.YK
H5~Ym` 用法:int(display size)[unsigned][zerofill]
%y.i;e4]Ao U2Ei'}:`7N
tinyint
jDr5l&h.o-?+?
c4x6t^(Ru 用法:tinyint(display size)[unsigned][zerofill]ln6g-B2Vqqn

^ c:gm]z3ye mediumintc d9O XT

P K|)d6A1dfAx 用法:mediumint(display size)[unsigned][zerofill]
uNG9X K#E)bs0[8W
}-~%X$Xl"^ bigintfv{BFa!Xf/`,r
,m`2cZ \p fw
用法:bigint(display size)[unsigned][zerofill](\;r:nX5O+N5o

Je{3T3V float
*V!I R0bQJ t+P1p!k-Z
//用法:float()[zerofill]`~Q1FGf{)p

Y `'dWF 用法:float[(m,d)][zerofill]+N"TN5oJ
C5m*?2^~DZzuZ
表示一个小的浮点数(单精度),不能是无符号数。m表示显示宽度,d表示精度。
"_%JQ2YJDD4n!C\
X)zC"Z G'p double0l(q{"Pn*N)YmSe

:x Y*r+V0gGl(_ 用法:double[(m,d)][zerofill]?+z|:L^-~
0jPH\bWEO
表示一个双精度浮点数,不能是无符号数。m表示显示宽度,d表示精度。h'NZ%fl

`V'\ o[9f6V~ decimal/numericb^cY+PD-~,Ya'bDk

u[ RBU/K5i 用法:decimal[(m[,d])][zerofill];](Z mz'`*eu#}~

}+sFVpb1ym decimal列中的数字被存储为字符,每个数字被存储为一个字符串,每个字符代表值的每一位数。如果d为0则表示没有小数点。decimal的最大范围和double一样,但是实际的范围是给定的参数m指定的,如果省略m,则m为0。*j}L.Om3Y?6YYG
O;v*H#FE
3.日期和时间类"ZJ*_/Ty eokC
RJPr^"w
date:h1EFh a
JfJ|Vk
用法:date5yxk*w5{'^d }/a;B
L\J}6M(I
date类型以YYYY-MM-DD格式存储数据。它允许1000-01-01到9999-12-31之间的值。 m#AC r4Ky

1ZFoJ;T datetime r%Qt q'g;^4t-{f B[

q-?sb(D 用法:datetime[null | not null][default]V9I2` VgRpL
QI4I[-a
datetime类型以YYYY-MM-DD HH:MM:SS格式存储数据。g(x Z#CZ2X

] ghri!K vua7} timestamp.Zj KR.[5N

v;z:TU*L9H_/q 用法:timestamp(format)V@[Jb9G3D"K

!X qr(wV!L |6Yl7g'@ format可以是2到14间的任意数字。.A b0e"f[
-Xy}0|^8^5d)~ ?
下面是format数字的对照列表:qh3h-Mu^A/H9~

d8o(v2x"[!v gfO/m 2    YY
^,Y5a%B_&lu .dUh-vv5C"zT$sI
4    YYMMRZ$^Gv9N'[+ET
.o/X"N#n*@/n']
6    YYMMDD
@:H'x4N4nQ/|$Z
oq n:a4j.b~ l 8    YYYYMMDD
PY|$bqIw t9M7xj
8a,M]4G1_,I k 10   YYMMDDHHMMdvVR1Fj2r"b,I

2iKuO K$A sK"p)F 12   YYMMDDHHMMSS
~3C&P.B?9G*ad7a8d,B
Gn%d)Rn"j2r 14   YYYYMMDDHHMMSS.Gc-I9APi.J$r\h

9L~5w Ed dSe)Fkh time_gSR^ mz.zY#vp

2a [!~Xa 用法:time
S`s$va^0E%B gc"Z,E_ l&mlr
以HH:MM:SS格式存储时间数据。 P0SD y4W{o,vC
c%v9G7A$\*x"Y^](?
year4y&H+AXoN

5Pu6~9Td 用法:year[(2 | 4)][n%F(|8h,U'\j
&Q7z{#u!k9rC
用2位数字格式,允许的日期是1970到2069之间的年份。(79到99的前面加19,01到69的前面加20)
?:_)ma0OXr dZ gA'c O o#?
用4为数字格式允许1901到2155之间的值。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.