1. 整数类型:
数据类型 | 存储范围 | 字节 |
TINYINT | 有符号值:-128到127 无符号值:0-255 | 1 |
SMALLINT | 有符号值:-32768到32767 | 2 |
MEDIUMINT | 有符号值:-8388608到8388607 无符号值:0到16777215 | 3 |
INT | 有符号值:-2147683648到2147683647 无符号值:0到4294967295 | 4 |
BIGINT | 有符号值:-9223372036854775808到9223372036854775807 无符号值:0到18446744073709551615 | 8 |
BOOL, BOOLEAN | 等价于TINYINT(1), 0为false, 其余为true | 1 |
可以随时查看帮助,获取相关信息:
mysql> HELP TINYINT; Name: 'TINYINT' Description: TINYINT[(M)] [UNSIGNED] [ZEROFILL] A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255. URL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html mysql> HELP CREATE DATABASE; Name: 'CREATE DATABASE' Description: Syntax: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name CREATE DATABASE creates a database with the given name. To use this statement, you need the CREATE privilege for the database. CREATE SCHEMA is a synonym for CREATE DATABASE.
2. 浮点类型:
数据类型 | 存储范围 | 字节 |
FLOAT[(M,D)] | 负数取值范围-3.40E+38到-1.17E-38、0和1.175E-38到3.40E+38 M是数字的总位数, D是小数点后面的位数。如果M,D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。 |
4 |
DOUBLE[(M,D)] | -1.79E+308到-2.22E-308、0和2.22E-308到1.79E+308 | 8 |
DECIMAL[(M,D)] | 和DOUBLE一样, 内部以字符串形式存储数值 | M+2 |
3. 字符串类型:
列类型 | 存储需求 |
CHAR(M) 定长字符串 | M个字节, 0<=M<=255 |
VARCHAR(M) 变长字符串 | L+1个字节, 其中 L<=M 且 0<=M<=65535 |
TINYTEXT | L+1个字节, 其中L<28 |
TEXT | L+2个字节, 其中L<216 |
MEDIUMTEXT | L+3个字节, 其中L<224 |
LONGTEXT | L+4个字节, 其中L<232 |
ENUM(‘value1’, ‘value2’,……..) 最终只能选择一个值 | 1或2个字节,取决于枚举值的个数,最多65535个值 |
SET(‘value1’, ‘value2’, …….) 集合,可以选择多个值 | 1,2,3,4或8个字节,取决于set成员的数目,最多64个成员 |
4. 日期时间类型:
列类型 | 存储范围 | 存储需求 |
TIME | -838:59:59~838:59:59 | 3 |
DATE | 1000-01-01 ~ 9999-12-31 | 3 |
DATETIME | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 |
TIMESTAMP | 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 | 4 |
YEAR | 1901~2155 | 1 |
5. 二进制类型: 一般用来存储文件,不常用