SQL 数据库字段类型说明
文本类型
char
用法:char(length)
char 类型最大长度是 255 个字符。当插入到表中的字符串的长度小于 length 时候,将给字段右边不够的部分用空格填补。
varchar
用法:varchar(length)
- varchar 的最大长度是 255 个字符
- varchar 和 char 几乎一样,区别在于 varchar 是变长的类型,不会填补空格
- varchar 类型的字段长度在超过 255 后,如
varchar(256)
在存储到磁盘的时候,就会比 varchar(255)
的字段多占用 1 个 byte 的存储空间
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 之间的值。