一、数值类型
类型 | 说明 | 例子 |
tinyint | 存储范围:-128至127或0至255 | tinyint(1) |
smallint | 存储范围:-32768至32767或0至65535 | smallint(3) |
mediumint | 存储范围:- 8388608至8388607或0至16777215 | mediumint(5) |
int | 存储范围:- 2147483648至2147483647或0至4294967295 | int(10) |
bigint | 存储范围:- 9223372036854775808至9223372036854775807或0至18446744073709551615 | bigint(10) |
(M,D) | 最小非零值:±1.175494351E – 38,同double一样适用于精度要求高的场合 | float(3,1) |
(M,D) | 最小非零值:±2.2250738585072014E - 308 | double(10,5) |
(M,D) | 取值范围可变,以来括号内的显示尺寸和小数点位数而定,适用于对精度要求不高但准确度要求非常高的场合 | decimal(10,2) |
二、字符串(文本)类型
类型 | 说明 | 例子 |
char | 支持固定长度的字符串, 最大长度是 255 个字符 | char(100) |
varchar | 支持可变长度的字符串, 最大长度是 65535 个字符 | varchar(1000) |
tinytext | 支持可变长度的字符串,最大长度是 255 个字符 | tinytext |
text blob | 支持可变长度的字符串,最大长度是 65535 个字符 | text |
mediumtext mediumblob | 支持可变长度的字符串,最大长度是 16777215 个字符 | mediumtext |
longtext longblob | 支持可变长度的字符串,最大长度是 4294967295 个字符 | longtext |
enum | 枚举类型,可存储最多65535 个成员,常用于取值是有限而且固定的场合 | enmu("男","女") |
set | 集合类型,可存储最多64个成员 | set("value1","value2", ...) |
三、时间日期类型
类型 | 说明 | 例子 |
date | YYYY-MM-DD 格式表示的日期值 | date |
time | hh:mm:ss 格式表示的时间值 | time |
datetime | YYYY-MM-DD hh:mm:ss 格式表示的日期和时间值 | datetime |
timestamp | YYYYMMDDhhmmss 格式表示的时间戳值 | timestamp |
year | YYYY 格式表示的年份值 | year |
1、DATE、TIME、DATATIME数据列类型
(1)、DATE、TIME和DATATIME类型分别存放日期值、时间值、日期和时间值的组合。它们的格式分别是“CCYY-MM-DD”、“hh:mm:ss”、“CCYY-MM-DD hh:mm:ss”。
(2)、DATATIME里的时间值和TIME值是有区别的,DATATIME里的时间值代表的是几点几分,TIME值代表的是所花费的时间。当向TIME数据列插值时,需用时间的完整写法,如12分30秒要写成“00:12:30”。
2、TIMESTAMP数据列类型
(1)、TIMESTAMP数据列的格式是CCYYMMDDhhmmss,取值范围从19700101000000开始,即1970年1月1号,最大到2037年。它的特点是能把数据行的创建或修改时间记录下来:
(2)、如果把一个NULL值插入TIMESTAMP列,这个数据列就将自动取值为当前的日期和时间。
(3)、在创建和修改数据行时,如果没有明确对TIMESTAMP数据列进行赋值,则它就会自动取值为当前的日期和时间。如果行中有多个TIMESTAMP列,只有第一个会自动取值。
(4)、如果对TIMESTAMP设置一个确定的日期和时间值,则会使TIMESTAMP的自动取值功能失效。
(5)、TIMESTAMP默认的列宽是14,可指定列宽,以改变显示效果。但不论你指定的列宽如何,MySQL都是以4字节来存储TIMESTAMP值,也总是以14位精度来计算。
(6)、如果需要把创建时间和最近一次修改时间同时记录下来,可以用两个时间戳来记录,一个记录创建时间,一个记录修改时间。不过需记住两件事,一是要把记录修改时间的TIMESTAMP数据列放在最前面,这样才会自动取值;二是创建一条新记录时,要用now()函数来初始化创建时间TIMESTAMP数据列,这样,该TIMESTAMP数据列就不会再变化。