Home / cs-notes / Architecture / Components / Database / MySQL / DataType
整形
type | bits |
---|---|
TINYINT | 8 |
SMALLINT | 16 |
MEDIUMINT | 24 |
INT | 32 |
BIGINT | 64 |
- INT(11)
- 规定交互工具显示字符个数
- 对于存储没有意义
浮点数
- FLOAT
-
DOUBLE
- DECIMAL
- 10进制
- 比 Float 耗时
- FLOAT, DOUBLE, DECIMAL 都支持指定列宽
- DECIMAL(18, 9)
- 9 位 小数
- 18 - 9 位 整数
- DECIMAL(18, 9)
字符串
- CHAR: 定长
- VARCHAR: 变长
- 只存必要内容,节省空间
- update 需要分页时会耗时
- MyISAM: 拆分片段
- InnoDB: 分裂页
时间、日期
- DATETIME
- 8字节
- 精度秒
- 时区无关
- 范围:1000 ~ 9999
- 显示:ANSI 标准
- “2008-01-16 22:37:08”
- TIMESTAMP
- UNIX 时间戳(秒)
- 格林威治
- 起始:1970-01-01 00:00:00
- 4 字节
- 只能表示 1970 ~ 2038
- 时区相关
- 一个时间戳在不同时区代表不同时间
- 转换
- FROM_UNIXTIME()
- UNIX_TIMESTAMP()
- 默认值为当前时间
- UNIX 时间戳(秒)
- 尽量使用 TIMESTAMP
- 比 DATETIME 空间效率更高