MySQL 数据类型
时间:2019-02-04 12:52:27 来源:igfitidea点击:
下面是MySQL中可用的数据类型列表,其中包括字符串、数字、日期/时间和大型对象数据类型。
字符串数据类型
下面是MySQL中的字符串数据类型:
数据类型语法 | 最大大小 | 说明 |
---|---|---|
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是要存储的二进制字符数。定长字符串。在右边填充空格以使字符大小相等。(在MySQL 4.1.2中引入) |
VARBINARY(size) | 255个字符。 | 其中size是要存储的字符数。可变长度的字符串。(在MySQL 4.1.2中引入) |
数值数据类型
以下是MySQL 中的数值数据类型:
数据类型 | 最大大小 | 说明 |
---|---|---|
BIT | 非常小的整数值,相当于TINYINT(1)。有符号值的范围是-128至127。无符号值的范围是0至255。 | |
TINYINT(m) | 很小的整数值。有符号值的范围是-128至127。无符号值的范围是0至255。 | |
SMALLINT(m) | 小型整数值。有符号值的范围是-32768到32767。无符号值的范围是0到65535。 | |
MEDIUMINT(m) | 中型整数值。有符号值的范围是-8388608至8388607。无符号值的范围是0至16777215。 | |
INT(m) | 标准整数值。有符号值的范围是-2147483648至2147483647。无符号值的范围是0至4294967295。 | |
INTEGER(m) | 标准整数值。有符号值的范围是-2147483648至2147483647。无符号值的范围是0至4294967295。 | 这是INT数据类型的同义词。 |
BIGINT(m) | 大整数值。有符号值的范围是-9223372036854775808至922337203685477575807。无符号值的范围是0至18446744073709551615。 | |
DECIMAL(m,d) | 定点数(fixed point number)。m默认为10。d默认为0。 | 其中,m是总位数,d是小数点后的位数。 |
DEC(m,d) | 定点数。m默认为10。d默认为0。 | 其中,m是总位数,d是小数点后的位数。 |
NUMERIC(m,d) | 定点数。m默认为10。d默认为0。 | 其中,m是总位数,d是小数点后的位数。这是DECIMAL数据类型的同义词。 |
FIXED(m,d) | 定点数。m默认为10。d默认为0。 | 其中,m是总位数,d是小数点后的位数。(在MySQL 4.1中引入)这是DECIMAL数据类型的同义词。 |
FLOAT(m,d) | 单精度浮点数。 | 其中,m是总位数,d是小数点后的位数。 |
DOUBLE(m,d) | 双精度浮点数。 | 其中,m是总位数,d是小数点后的位数。 |
DOUBLE PRECISION(m,d) | 双精度浮点数。 | 其中,m是总位数,d是小数点后的位数。这是DOUBLE数据类型的同义词。 |
REAL(m,d) | 双精度浮点数。 | 其中,m是总位数,d是小数点后的位数。这是DOUBLE数据类型的同义词。 |
FLOAT(p) | 浮点数。 | 其中p是精度。 |
BOOL | TINYINT(1)的同义词 | 被视为布尔数据类型,其中值0被认为是FALSE,而其他任何值都被认为是TRUE。 |
BOOLEAN | TINYINT(1)的同义词 | 被视为布尔数据类型,其中值0被认为是FALSE,而其他任何值都被认为是TRUE。 |
日期/时间数据类型
以下是MySQL 中的日期/时间数据类型:
数据类型 | 最大大小 | 说明 |
---|---|---|
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) | 时间戳,值的范围是UTC的"1970-01-01 00:00:01"到UTC的"2038-01-19 03:14:07"。 | 显示为"YYYY-MM-DD HH:MM:SS"。 |
TIME | 时间,值的范围从"-838:59:59"到"838:59:59"。 | 显示为"HH:MM:SS"。 |
YEAR[(2 | 4)] | 年份值是2位或4位数字。 |
大对象(LOB)数据类型
以下是MySQL中的LOB数据类型:
数据类型 | 最大大小 | 说明 |
---|---|---|
TINYBLOB | 255个字节。 | |
BLOB(size) | 65,535字节。 | 其中size是要存储的字符数(size是可选的,是MySQL 4.1中引入的) |
MEDIUMBLOB | 16,777,215字节。 | |
LONGTEXT | 4GB或4,294,967,295个字符。 |