SQL数据库字段类型说明
文本类型
char
用法:char(length)
char类型最大长度是255个字符。当插入到表中的字符串的长度小于length时候,将给字段右边不够的部分用空格填补。
varchar
用法:varchar(length)
varchar的最大长度是255个字符。varchar和char几乎一样,区别在于varchar是变长的类型,不会填补空格。
tinytext
用法:tinytext
tinytext最大长度是255字符。
text
用法:text
text最大长度是65535(2的17次方)字符。
mediumtext
用法:mediumtext
mediumtext最大长度是16777215个字符。
longtext
用法:longtext
longtext最大长度是4294976259个字符。
(tinytext,text,mediumtext,longtext这四种类型,都是可变长字段类型,与varchar一样,只是最大长度不同而已)
enum
用法:enum(‘value1’,‘value2’,‘value3’,….)[default ‘value’]
使用enum的时候,可以限制插入的值只能是括号里包含的值列表中的一个,同时也可以用可选的default
‘value’指定缺省情况下的值。
set
用法:set(‘value1’,‘value2’,‘value3’,…)[default ‘value’]
使用set的时候,可以限制插入的值只能是括号里包含的值列表中的一个或多个,同时也可以用可选的default
‘value’指定缺省情况下的值。
数字类型
int/integer
用法:int(display size)[unsigned][zerofill]
tinyint
用法:tinyint(display size)[unsigned][zerofill]
mediumint
用法:mediumint(display size)[unsigned][zerofill]
bigint
用法:bigint(display size)[unsigned][zerofill]
float
用法:float()[zerofill] ; float[(m,d)][zerofill]
表示一个小的浮点数(单精度),不能是无符号数。m表示显示宽度,d表示精度。
double
用法:double[(m,d)][zerofill]
表示一个双精度浮点数,不能是无符号数。m表示显示宽度,d表示精度。
decimal/numeric
用法:decimal[(m[,d])][zerofill]
decimal列中的数字被存储为字符,每个数字被存储为一个字符串,每个字符代表值的每一位数。如果d为0则表示没有小数点。decimal的最大范围和double一样,但是实际的范围是给定的参数m指定的,如果省略m,则m为0。
日期和时间类
date
用法:date
date类型以YYYY-MM-DD格式存储数据。它允许1000-01-01到9999-12-31之间的值。
datetime
用法:datetime[null | not null][default]
datetime类型以YYYY-MM-DD HH:MM:SS格式存储数据。
timestamp
用法:timestamp(format)
format可以是2到14间的任意数字。下面是format数字的对照列表:
YY
YYMM
YYMMDD
YYYYMMDD
YYMMDDHHMM
YYMMDDHHMMSS
YYYYMMDDHHMMSS
time
用法:time
以HH:MM:SS格式存储时间数据。
year
用法:year[(2 | 4)]
用2位数字格式,允许的日期是1970到2069之间的年份。(79到99的前面加19,01到69的前面加20)用4为数字格式允许1901到2155之间的值。