mariadb中有多种字符类型,选择正确合理的字符类型,可以节约磁盘空间,提高工作效率。mariadb的字符类型有:
- 整数
- 浮点数
- 字符串
- 日期时间型
整数
类型 | 大小(字节) | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 | (-32 768,32 767) | (0,65535) | 大整数值 |
MEDIUMINT | 3 | ($-2^{23}$,$2^{23}-1$) | (0,$2^{24}-1$) | 大整数值 |
INT | 4 | ($-2^{31}$,$2^{31}-1$) | (0,$2^{32}-1$) | 大整数值 |
BIGINT | 8 | ($-2^{63}$,$2^{63}-1$) | (0,$2^{64}-1$) | 极大整数值 |
浮点数
类型 | 大小(字节) | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
FLOAT | 4 | ($-2^{31}$,$2^{32}-1$) | (0,$2^{32}-1$) | 单精度浮点数值 |
DOUBLE | 8 | ($-2^{64}$,$2^{64}-1$) | ($0,2^{64}-1$) | 双精度浮点数值 |
DECLMAL | 对于DECIMAL(M,D),为M+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
字符串
类型 | 大小(字节) | 用途 |
---|---|---|
char | (0,255) | 定长字符类型 |
varchar | (0,$2^{16}$) | 变长字符类型 |
TINYTEXT | (0,255) | 短文本字符串 |
TEXT | (0,$2^{16}$) | 长文本数据 |
MEDIUMTEXT | (0,$2^{24}$) | 中等长度文本数据 |
LONGTEXT | (0,$2^{32}$) | 极大文本数据 |
ENUM | (0,$2^{16}$) | 枚举 |
日期时间型
类型 | 大小(字节) | 格式 | 范围 | 用途 |
---|---|---|---|---|
DATE | 3 | YYYY-MM-DD | (1000-01-01, 9999-12-31) | 日期值 |
TIME | 3 | HH:MM:SS | (‘-838:59:59’,’838:59:59’) | 时间值或持续时间 |
DATE | 3 | YYYY | (1901,2155) | 年份值 |
DATETIME | 8 | YYYY-MM-DD HH:MM:SS | (1000-01-01 00:00:00,999-12-31 23:59:59) | 混合日期时间值 |
TIMESTAMP | 4 | YYYYMMDD HHMMSS | (1970-01-01 00:00:00,2037年) | 时间戳 |