MariaDB 数据类型有哪些?怎么用?

文章导读
Previous Quiz Next 良好的字段定义对数据库的优化至关重要。理想的方法要求您只使用所需类型和大小的字段。例如,如果您只使用宽度为五个字符的字段,就不要定义宽度为20个字符的字段。字段(或列)类型也称为数据类型,因为字段中存储的数据类型。
📋 目录
  1. 数值数据类型
  2. 日期和时间数据类型
  3. String DataTypes
A A

MariaDB - 数据类型



Previous
Quiz
Next

良好的字段定义对数据库的优化至关重要。理想的方法要求您只使用所需类型和大小的字段。例如,如果您只使用宽度为五个字符的字段,就不要定义宽度为20个字符的字段。字段(或列)类型也称为数据类型,因为字段中存储的数据类型。

MariaDB 数据类型可分为数值型、日期和时间型以及字符串值。

数值数据类型

MariaDB 支持的数值数据类型如下 −

  • TINYINT − 这种数据类型表示范围在 -128 到 127 的有符号小整数,以及范围在 0 到 255 的无符号整数。

  • BOOLEAN − 这种数据类型将值 0 与 false 关联,将值 1 与 true 关联。

  • SMALLINT − 这种数据类型表示范围在 -32768 到 32768 的有符号整数,以及范围在 0 到 65535 的无符号整数。

  • MEDIUMINT − 这种数据类型表示范围在 -8388608 到 8388607 的有符号整数,以及范围在 0 到 16777215 的无符号整数。

  • INT(也称 INTEGER) − 这种数据类型表示正常大小的整数。当标记为 unsigned 时,范围为 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 (也称 REALDOUBLE PRECISION) − 这种数据类型表示值为 0 或以下范围内的正常大小的浮点数 −

    • -1.7976931348623157E+308 到 -2.2250738585072014E-308

    • 2.2250738585072014E-308 到 1.7976931348623157E+308

  • BIT − 这种数据类型表示位字段,其中 M 指定每个值的位数。如果省略 M,默认值为 1。位值可以使用 b[value] 应用,其中 value 表示由 0 和 1 组成的位值。左侧会自动进行零填充以达到完整长度;例如,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 的值。

String DataTypes

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) 字节的 blob 列。在存储中,每个值使用一个三字节长度前缀来指示值中的字节数量。

  • LONGBLOB − 这种数据类型表示最大长度为 4,294,967,295 (232 - 1) 字节的 blob 列。在存储中,每个值使用一个四字节长度前缀来指示值中的字节数量。

  • TINYTEXT − 这种数据类型表示最大长度为 255 (28 - 1) 个字符的 text 列。在存储中,每个值使用一个一字节长度前缀来指示值中的字节数量。

  • TEXT − 这种数据类型表示最大长度为 65,535 (216 - 1) 个字符的 text 列。在存储中,每个值使用一个两字节长度前缀来指示值中的字节数量。

  • MEDIUMTEXT − 这种数据类型表示最大长度为 16,777,215 (224 - 1) 个字符的 text 列。在存储中,每个值使用一个三字节长度前缀来指示值中的字节数量。

  • LONGTEXT − 这种数据类型表示最大长度为 4,294,967,295 或 4GB (232 - 1) 个字符的 text 列。在存储中,每个值使用一个四字节长度前缀来指示值中的字节数量。

  • ENUM − 这种数据类型表示从列表中仅有一个值的字符串对象。

  • SET − 这种数据类型表示从列表中零个或多个值的字符串对象,最多 64 个成员。SET 值在内部以整数值形式呈现。