MariaDB – 数据类型
MariaDB – 数据类型
良好的字段定义对于优化数据库至关重要。理想的方法要求您专门使用所需类型和大小的字段。例如,如果您将只使用一个 5 个字符宽的字段,则不要定义一个 20 个字符宽的字段。鉴于存储在字段中的数据类型,字段(或列)类型也称为数据类型。
MariaDB 数据类型可分为数值、日期和时间以及字符串值。
数字数据类型
MariaDB 支持的数字数据类型如下 –
-
TINYINT – 此数据类型表示落在 -128 到 127 的有符号范围内和 0 到 255 的无符号范围内的小整数。
-
BOOLEAN – 此数据类型将值 0 与“false”相关联,将值 1 与“true”相关联。
-
SMALLINT – 此数据类型表示 -32768 到 32768 的有符号范围和 0 到 65535 的无符号范围内的整数。
-
MEDIUMINT – 此数据类型表示 -8388608 到 8388607 的有符号范围和 0 到 16777215 的无符号范围内的整数。
-
INT(also INTEGER) – 此数据类型表示正常大小的整数。标记为无符号时,范围为 0 到 4294967295。有符号时(默认设置),范围为 -2147483648 到 2147483647。当列设置为 ZEROFILL(无符号状态)时,其所有值都在前面加上零以放置INT 值中的 M 位数字。
-
BIGINT – 此数据类型表示 9223372036854775808 到 9223372036854775807 的有符号范围内的整数,以及 0 到 18446744073709551615 的无符号范围内的整数。
-
DECIMAL(也是 DEC、NUMERIC、FIXED)- 这种数据类型表示精确的定点数,M 指定其数字,D 指定小数点后的数字。M 值不加“-”或小数点。如果 D 设置为 0,则不会出现小数或小数部分,并且值将在 INSERT 时四舍五入到最接近的 DECIMAL。允许的最大位数为 65,小数位数的最大值为 30。M 省略的默认值为 10,D 省略的默认值为 0。
-
FLOAT – 此数据类型表示值为 0 的小浮点数或以下范围内的数字 –
-
-3.402823466E+38 到 -1.175494351E-38
-
1.175494351E-38 到 3.402823466E+38
-
-
DOUBLE(也是REAL和DOUBLE PRECISION) – 此数据类型表示值为 0 或以下范围内的正常大小的浮点数 –
-
-1.7976931348623157E+308 到 -2.2250738585072014E-308
-
2.2250738585072014E-308 到 1.7976931348623157E+308
-
-
BIT – 此数据类型表示位字段,其中 M 指定每个值的位数。省略M时,默认为1。位值可以应用“b'[value]’”,其中value代表0s和1s中的位值。零填充自动从左边开始全长;例如,“10”变为“0010”。
日期和时间数据类型
MariaDB 支持的日期和时间数据类型如下 –
-
DATE – 此数据类型表示“1000-01-01”到“9999-12-31”的日期范围,并使用“YYYY-MM-DD”日期格式。
-
TIME – 此数据类型表示“-838:59:59.999999”到“838:59:59.999999”的时间范围。
-
DATETIME – 此数据类型表示范围“1000-01-01 00:00:00.000000”到“9999-12-31 23:59:59.999999”。它使用“YYYY-MM-DD HH:MM:SS”格式。
-
TIMESTAMP – 此数据类型表示“YYYY-MM-DD HH:MM:DD”格式的时间戳。它主要用于详细说明数据库修改的时间,例如插入或更新。
-
YEAR – 此数据类型以 4 位格式表示年份。四位数格式允许 1901 到 2155 和 0000 范围内的值。
字符串数据类型
MariaDB 支持的字符串类型值如下 –
-
字符串文字– 此数据类型表示用引号括起来的字符序列。
-
CHAR – 此数据类型表示包含指定长度空格的右填充、固定长度的字符串。M 表示 0 到 255 范围内字符的列长,默认值为 1。
-
VARCHAR – 此数据类型表示可变长度字符串,M 范围(最大列长度)为 0 到 65535。
-
BINARY – 此数据类型表示二进制字节字符串,M 作为以字节为单位的列长度。
-
VARBINARY – 此数据类型表示可变长度的二进制字节字符串,其中 M 作为列长度。
-
TINYBLOB – 此数据类型表示最大长度为 255 (28 – 1) 个字节的 blob 列。在存储中,每个都使用一个一字节长度的前缀来指示值中的字节数量。
-
BLOB – 此数据类型表示最大长度为 65,535 (216 – 1) 字节的 blob 列。在存储中,每个都使用一个两字节长度的前缀来指示值中的字节数量。
-
MEDIUMBLOB – 此数据类型表示最大长度为 16,777,215(224– 1) 字节。在存储中,每个都使用一个三字节长度的前缀来指示值中的字节数量。
-
LONGBLOB – 此数据类型表示最大长度为 4,294,967,295(232– 1) 字节。在存储中,每个都使用一个四字节长度的前缀,指示值中的字节数量。
-
TINYTEXT – 此数据类型表示最大长度为 255(28– 1) 字符。在存储中,每个都使用一个一字节长度的前缀来指示值中的字节数量。
-
TEXT – 此数据类型表示最大长度为 65,535(216– 1) 字符。在存储中,每个都使用一个两字节长度的前缀来指示值中的字节数量。
-
MEDIUMTEXT – 此数据类型表示最大长度为 16,777,215(224– 1) 字符。在存储中,每个都使用一个三字节长度的前缀来指示值中的字节数量。
-
LONGTEXT – 此数据类型表示最大长度为 4,294,967,295 或 4GB(232– 1) 字符。在存储中,每个都使用一个四字节长度的前缀,指示值中的字节数量。
-
ENUM – 此数据类型表示一个字符串对象,其中只有一个列表中的值。
-
SET – 此数据类型表示具有列表中零个或多个值的字符串对象,最多 64 个成员。SET 值在内部显示为整数值。