赞
踩
类别 | 关键字 |
---|---|
整数类型 | TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT |
小数类型 | FLOAT、DOUBLE / DECIMAL |
日期和时间类型 | YEAR、TIME、DATE、DATETIME、TIMESTAMP |
字符串类型 | CHAR、VARCHAR、TEXT、ENUM、SET、LONGTEXT等 |
二进制类型 | BIT、BINARY、VARBINARY、BLOB |
类型名称 | 存储长度 | 取值范围 |
---|---|---|
TINYINT | 1个字节 | 0~255 或者 -127~128 (3) |
SMALLINT | 2个字节 | 0~65535 或者-32768~32767 (5) |
MEDIUMINT | 3个字节 | 0~16777215 (9) 或者 -8388608~8388607 (8) |
INT | 4个字节 | 0~4294967295 或者 -2147483648~2147483647 (10) |
BIGINT | 8个字节 | 0~18446744073709551615 (20) 或者 -9223372036854775808~9223372036854775807 (19) |
* 取值范围是包括无符号数和有符号数。 括号中的数字是可选的MySql显示位数范围。例如创建一个表一个字段的数据类型为TINYINT,则可以
create table man(age TINYINT(3) NOT NULL);
类型名称 | 存储长度 |
---|---|
FLOAT(M,D) | 4个字节 |
DOUBLE(M,D) | 8个字节 |
类型名称 | 存储长度 |
---|---|
DECIMAL(M,D) | M + 2个字节 |
* M是总位数,D是保留的小数位数。例如FLOAT(5,2),就是最多3位整数,2位小数。
* 对精度要求很高的,例如金融上的数据,建议使用Decimal。
类型名称 | 格式 | 范围 | 存储长度 |
---|---|---|---|
YEAR | YYYY | 1901~2155 | 1个字节 |
TIME | HH:MM:SS | -838:59:59~838:59:59 | 3个字节 |
DATE | YYYY-MM-DD | 1000-01-01~9999-12-31 | 3个字节 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00~9999-12-31 23:59:59 | 8个字节 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:00 ~2038-01-19 03:14:07UTC | 4个字节 |
* DATETIME和TIMESTAMP的区别一个是存储的时间范围不一样,一个是TIMESTAMP还存储了时区信息,取得是==当地的标准时间==。例如在中国的时间和在美国显示的时间就不一样。
类型名称 | 存储长度 |
---|---|
CHAR(M) | M取值0~255字节 |
VARCHAR(M) | M取值0~65536字节 |
LONGTEXT | 0~4294967295字节 |
ENUM | 1或2个字节,最大值65535 |
* 这里列举了使用稍微多的字符串类型。MySql还有许多字符串类型就不一一介绍。需要说明的是,MySql5.0以上版本的数据库,GBK编码的2个字节存储一个汉字,UTF-8是3个字节存储一个汉字。
* CHAR是固定长度,而VARCHAR不是。因此CHAR的处理效率大于VARCHAR,但是会造成空间浪费。
这里只说BLOB,它是一个类型系列,包括:TinyBlob(32kb)、Blob(64kb)、MediumBlob(16M)、LongBlob(4GB)。它们的区别仅仅是存储的大小不同。
这个会常常用来存储图片,音频信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。