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年) | 时间戳 |