1. 数值类型
1.1 整型
类型 |
占用空间 |
范围(有符号) |
tinyint(m) |
1字节 |
-128~127 |
smallint(m) |
2字节 |
-32768~32767 |
mediumint(m) |
3字节 |
-8388608~8388607 |
int(m) |
4字节 |
-2147483648~2147483647 |
bigint(m) |
8字节 |
+-9.22*10的18次方 |
可以加上unsigned关键字将它们定义成无符号的类型,对应的取值范围翻倍,比如:
tinyint unsigned的取值范围为0~255。
1.2 浮点型
类型 |
含义 |
占用空间 |
范围(有符号) |
float(m,d) |
单精度浮点型 |
8位精度(4字节) |
-128~127 |
double(m,d) |
双精度浮点型 |
8位精度(4字节) |
-32768~32767 |
1.3 定点型
类型 |
含义 |
占用空间 |
范围 |
decimal(m, d) |
精确小数值 |
如果m>d,为m+2否则为d+2。 |
依赖于m和d的值 |
1
| 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。其中参数 m<65 是总个数,d<30 且 d<m 是小数位。
|
2. 日期和时间数据类型
类型 |
含义 |
范围 |
date |
日期,格式:2014-09-18 |
3字节 |
time |
时间,格式:08:42:30 |
3字节 |
year |
年份 |
1字节 |
datetime |
日期时间,格式:2014-09-18 08:42:30 |
8字节 |
timestamp |
自动存储记录修改的时间 |
4字节 |
1 2
| 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新。
|
3. 字符串类型
类型 |
含义 |
范围 |
char(n) |
定长字符串 |
固定长度,最多255个字符 |
varchar(n) |
变长字符串 |
固定长度,最多65535个字符 |
tinytext |
短文本字符串 |
可变长度,最多255个字符 |
tinyblob |
二进制字符串 |
可变长度,最多255个字符 |
text |
长文本数据 |
可变长度,最多65535个字符 |
blob |
二进制形式的长文本数据 |
可变长度,最多65535个字符 |
mediumtext |
中等长度文本数据 |
可变长度,最多2的24次方-1个字符 |
mediumblob |
二进制形式的中等长度文本数据 |
可变长度,最多2的24次方-1个字符 |
longtext |
极大文本数据 |
可变长度,最多2的32次方-1个字符 |
longblob |
二进制形式的极大文本数据 |
可变长度,最多2的32次方-1个字符 |
1 2 3 4
| TEXT以文本方式存储,英文存储区分大小写,而Blob以二进制方式存储,不区分大小写。 BLOB存储的数据只能整体读出。 TEXT可以指定字符集,BLOB不用指定字符集。 4种不同的BLOB类型只是可容纳值的最大长度不同。
|