基本数据类型-MySQL
整型:
TINYINT | 最小 | 1个字节 | -128~127 | 0~255 |
SMALLINT | 较小 | 2个字节 | -32768~32767 | 0~65535 |
MEDIUMINT | 中等大小 | 3个字节 | 略 | |
INT(INTEGER) | 普通大小 | 4个字节 | 略 | |
BIGINT | 大整数 | 8个字节 | 略 |
ps.
整型后的括号表示显示宽度,当数小于宽度,自动在前面添加0,当数大于宽度时但仍在取值范围内时,可以正常显示。
符号位占一位。
浮点数和顶点数:
FLOAT | 单精度浮点 | 4个字节 |
DOUBLE | 双精度浮点 | 8个字节 |
DECIMAL(M,D) | 顶点 | M+2个字节 |
ps.
顶点和浮点都可以用(M,N)来限制位数。
M是总位数,N是小数的位置。
日期与时间类型:
YEAR | YYYY | 1901-2155 | 1个字节 |
TIME | HH:MM:SS | -835:59:59~838 | 3个字节 |
DATE | YYYY-MM-DD | 1000-01-01~9999-12-3 | 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:01 UTC~2038-01-19 03:14:07 UTC | 4个字节 |
ps.
可以选择插入方式为YYYY-MM-DD HH:MM:SS、YYYYMMDDHHMMSS
文本类型:
CHAR(M) | 固定长度非二进制字符串 | M字节 |
VARCHAR(M) | 变长非二进制字符串 | L+1字节,在此L<=M和1<=M<=255 |
TINYTEXT | 非常小的非二进制字符串 | L+1字节,在此L<2^8 |
TEXT | 小的非二进制字符串 | L+2字节,在此L<2^16 |
MEDIUMTEXT | 中等的非二进制字符串 | L+3字节,在此L<2^24 |
LONGTEXT | 大的非二进制字符串 | L+4字节,在此L<2^32 |
ENUM | 枚举类型 | 1或2个字节,65535个元素 |
SET | 一个设置,字符串对象可以有零个或多个SET成员 | 取决于集合成员的数量 |
ps.
ENUM类型内部成员值从1开始,当索引。
二进制字符串类型:
BIT(M) | 位字段类型 | 大约在(M+7)/8个字节 |
BINARY(M) | 固定长度二进制字符串 | M个字节 |
VARBINARY(M) | 可变长度二进制字符串 | M+1个字节 |
TINYBLOB(M) | 非常小的BLOB | L+1字节,在此L<2^8 |
BLOB(M) | 小BLOB | L+2字节,在此L<2^16 |
MEDIUMBLOB(M) | 中等大小的BLOB | L+3字节,在此L<2^24 |
LONGBOLB(M) | 非常大的BLOB | L+4字节,在此L<2^32 |
ps.
binary和varbinary类似char和varchar,字节串
blob类似text