基础信息:MySQL 数据类型 1 个改进

数据类型是指具有特殊类型的数据,比如:整型、浮点型、布尔型等等。每种数据类型都具有不同的值,操作方式以及存储方式。

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:mm:ss’。
TIMESTAMP(m) 取值范围: ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ TC。 格式: ‘YYYY-MM-DD HH:MM:SS’。
TIME 取值范围: ‘-838:59:59’ ~ ‘838:59:59’。 格式: ‘HH:MM:SS’。
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 个字节。
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!