基础信息:MySQL 数据类型
数据类型是指具有特殊类型的数据,比如:整型、浮点型、布尔型等等。每种数据类型都具有不同的值,操作方式以及存储方式。
MySQL 支持许多满足 SQL 标准的数据类型。主要有三种:数字,日期和时间以及字符串类型。
数值数据类型
类型 | 说明 |
---|---|
INT | INT是一个有符号或者无符号的整型。 有符号的整数取值范围: -2147483648 ~ 2147483647。无符号整数取值范围: 0 ~ 4294967295。 数字宽度最多11位。 |
TINYINT | TINYINT同样也是有符号或无符号两种情况。 有符号TINYINT取值范围: -128 ~ 127。无符号TINYINT取值范围: 0 ~ 255.。数字宽度最多4位。 |
SMALLINT | SMALLINT同样也是有符号或无符号两种情况。 有符号SMALLINT取值范围: -32768 ~ 32767。无符号SMALLINT取值范围:0 ~ 65535。数字宽度最多6位。 |
MEDIUMINT | MEDIUMINT同样也是有符号或无符号两种情况。有符号MEDIUMINT取值范围: -8388608 ~ 8388607。 无符号MEDIUMINT取值范围:0 ~ 16777215。 数字宽度最多9位。 |
BIGINT | BIGINT同样也是有符号或无符号两种情况。有符号BIGINT取值范围: -9223372036854775808 ~ 9223372036854775807。 无符号BIGINT取值范围:0 ~ 18446744073709551615。 数字宽度最多20位。 |
FLOAT(m,d) | 浮点数都是无符号的,可以定义显示长度(m)和小数位数(d),但这并不是必须的。浮点数默认长度是10,小数位数是2。小数精度可以达到24位浮点数。 |
DOUBLE(m,d) | 双精度数都是无符号的,可以定义显示长度(m)和小数位数(d),但这并不是必须的。双精度数默认长度是16,小数位数是4。小数精度可以达到53个位的两倍。 |
DECIMAL(m,d) | 无符号,在未压缩的十进制中,每个十进制对应一个字节。需要定义显示长度(m)和小数位数(d)。 |
日期时间类型:
类型 | 最大值 | 说明 |
---|---|---|
DATE | 取值范围: ‘1000-01-01’ ~ ‘9999-12-31’。 | 格式: ‘yyyy-mm-dd’。 |
DATETIME | 取值范围: ‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’. | 格式: ‘yyyy-mm-dd hh![]() |
TIMESTAMP(m) | 取值范围: ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ TC。 | 格式: ‘YYYY-MM-DD HH![]() |
TIME | 取值范围: ‘-838:59:59’ ~ ‘838:59:59’。 | 格式: ‘HH![]() |
YEAR | 年份值是2位数或4位数。 | 默认是4位数。 |
字符串类型:
类型 | 最大值 | 说明 |
---|---|---|
CHAR(size) | 最大长度为255个字符。 | 定长字符串,其中size是要存储的字符数。剩余长度以空格形式自动在右侧填充。 |
VARCHAR(size) | 最大长度为255个字符。 | 可变长度的字符串。其中size是要存储的字符数。 |
TINYTEXT(size) | 最大长度为255个字符。 | 其中size是要存储的字符数。 |
TEXT(size) | 最大长度为65,535个字符。 | 其中size是要存储的字符数。 |
MEDIUMTEXT(size) | 最大长度为16,777,215 个字符。 | 其中size是要存储的字符数。 |
LONGTEXT(size) | 最大大小为4GB或4,294,967,295个字符。 | 其中size是要存储的字符数。 |
BINARY(size) | 最大长度为255个字符。 | 定长字符串,其中size是要存储的字符数。剩余长度以空格形式自动在右侧填充。 |
VARBINARY(size) | 最大长度为255个字符。 | 可变长度的字符串。其中size是要存储的字符数。 |
LOB 类型:
类型 | 最大值 |
---|---|
TINYBLOB | 最大长度为255个字节。 |
BLOB(size) | 最大长度为65,535个字节。 |
MEDIUMBLOB | 最大长度为16,777,215个字节。 |
LONGTEXT | 最大长度为 4gb 或者 4,294,967,295 个字节。 |
推荐文章: