📜  MariaDB-数据类型

📅  最后修改于: 2020-11-27 05:29:20             🧑  作者: Mango


良好的字段定义对于优化数据库至关重要。理想的方法要求您专门使用所需类型和大小的字段。例如,如果您仅使用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(也INTEGER) -此数据类型表示正常大小的整数。标记为无符号时,范围为0到4294967295。有符号(默认设置)时,范围为-2147483648到2147483647。当列设置为ZEROFILL(无符号状态)时,其所有值都以零开头INT值中的M位。

  • BIGINT-此数据类型表示有符号范围9223372036854754775808至922337203685477575807和无符号范围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表示0s和1s中的位值。零填充会自动从左侧开始进行全长播放;例如,“ 10”变为“ 0010”。

日期和时间数据类型

MariaDB支持的日期和时间数据类型如下-

  • 日期-此数据类型表示日期范围为“ 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”格式的时间戳。它主要用于详述数据库修改(例如插入或更新)的时间。

  • 年度-这个数据类型表示4位数格式的年份。四位数格式允许在1901至2155到0000之间的值。

字符串数据类型

MariaDB支持的字符串类型值如下所示:

  • 字符串字面量-此数据类型表示用引号引起来的字符序列。

  • CHAR-此数据类型表示包含指定长度的空格的右填充固定长度字符串。 M表示字符的列长度,范围为0到255,其默认值为1。

  • VARCHAR-此数据类型表示一个可变长度的字符串,M范围(最大列长度)为0到65535。

  • BINARY-此数据类型表示二进制字节字符串,其中M为列长度(以字节为单位)。

  • VARBINARY-此数据类型表示可变长度的二进制字节字符串,其中M为列长。

  • TINYBLOB-此数据类型表示一个Blob列,最大长度为255( 28-1 )个字节。在存储中,每一个都使用一个一字节长的前缀来指示值中的字节数量。

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

  • MEDIUMBLOB -此数据类型表示与16777215(22 4 – 1)的最大长度BLOB列字节。在存储中,每一个都使用一个三字节长的前缀来指示值中的字节数量。

  • LONGBLOB -此数据类型表示与4294967295(2 32 – 1)的最大长度BLOB列字节。在存储中,每一个都使用一个四字节长的前缀来指示值中的字节数量。

  • TINYTEXT -此数据类型表示与255(2 8 – 1)的最大长度文本列的字符。在存储中,每一个都使用一个一字节长的前缀来指示值中的字节数量。

  • TEXT -此数据类型表示具有65535(二月16日至一日)的最大长度的文本列的字符。在存储中,每一个都使用两字节长的前缀来指示值中的字节数量。

  • MEDIUMTEXT -此数据类型表示与16777215(2月24日至1)的最大长度的文本列的字符。在存储中,每一个都使用一个三字节长的前缀来指示值中的字节数量。

  • LONGTEXT -此数据类型表示与4294967295或4GB(2 32 – 1)的最大长度的文本列的字符。在存储中,每一个都使用一个四字节长的前缀来指示值中的字节数量。

  • 枚举-此数据类型表示一个字符串对象,该对象仅具有列表中的单个值。

  • SET-此数据类型表示一个字符串对象,该对象在列表中具有零个或多个值,最多64个成员。 SET值在内部显示为整数值。