共计 1403 个字符,预计需要花费 4 分钟才能阅读完成。
MySQL 之数据类型
MySQL 常见的数据类型有数值、日期和时间、字符串
数值
整数类型(精确值)
Integer Types (Exact Value) – INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
int
tinyint
bigint
不动点类型(精确值)- 十进制,数字
Fixed-Point Types (Exact Value) – DECIMAL, NUMERIC
DECIMAL(5,2): 5 代表精度,2 代表刻度;表示该列总共可以存储 5 位数字,精确到小数点后 2 位;
存储范围:-999.99 ~ 999.99
NUMERIC 就是 NUMERIC
说明:精度是几,小数点 + 整数位不能超过前面的精度。
decimal(0) 默认是 decimal(10,0)
浮点类型(近似值)- 浮动
Floating-Point Types (Approximate Value) – FLOAT, DOUBLE
float 存储 4bytes
float(7,4)就会看到这样:-999.9999 的显示。MySQL 进行舍入时存储的值,所以如果你插入 999.00009 成浮(7,4)柱,近似的结果是 999.0001
If M and D are omitted, values are stored to the limits permitted by the hardware.
double 存储 8bytes
时间和日期
- DATE: 日期 ‘YYYY-MM-DD’. The supported range is ‘1000-01-01’ to ‘9999-12-31’
- DATETIME: 日期时间组合 ‘YYYY-MM-DD HH:MM:SS’ The supported range is ‘1000-01-01 00:00:00′ to’9999-12-31 23:59:59’.
- TIMESTAMP: 时间戳 ‘1970-01-01 00:00:01.000000’ UTC to ‘2038-01-19 03:14:07.999999’ 注意:不能等于 ’1970-01-01 00:00:00’ 会归零;
- TIME: 时间 ‘-838:59:59.000000’ to ‘838:59:59.000000′ 注意:’11:12′ means ’11:12:00′, not ’00:11:12’;‘1112’ and 1112 as meaning ’11:12:00;默认情况下,超出范围的值会被自动转换成接近的值,eg:’-850:00:00′ and ‘850:00:00’ are converted to ‘-838:59:59’ and ‘838:59:59’;无效的的时间值会被转换成 ’00:00:00’
- YEAR: range 1901 to 2155, or 0000 注意:YEAR(4) and YEAR(2) 不同之处在于显示不同;eg:70 (1970 or 2070) or 69 (2069).
字符串
- CHAR:0 to 255 定长,存储时用空格补齐;读取时删掉后面的空格,PAD_CHAR_TO_FULL_LENGTH sql 模式开启
- VARCHAR:0 to 65,535 可变长度
- BLOB: 保存二进制的大型数据(字节串),没有字符集,eg:图片、音频视频等
- TEXT: 保存非二进制字符串(字符串);有一个字符集
- BINARY 和 VARBINARY: 类似 CHAR 和 VARCHAR;保存字节字符串,而不是字符字符串,这意味着它们没有字符集
正文完
星哥玩云-微信公众号