MariaDB - 数据类型

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

MariaDB数据类型可以分类为数字,日期和时间以及字符串值./p>

数值数据类型

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 : 此数据类型表示符号范围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]'",其中值表示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"格式的时间戳.它主要用于详细说明数据库修改的时间,例如插入或更新.

  • : 此数据类型以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 : 此数据类型表示blob列,最大长度为16,777,215(22 4  -  1)个字节.在存储中,每个都使用一个三字节长度的前缀,表示值中的字节数量.

  • LONGBLOB : 此数据类型表示blob列,最大长度为4,294,967,295(2 32  -  1)个字节.在存储中,每个都使用一个四字节长度的前缀,表示值中的字节数量.

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

  • TEXT : 此数据类型表示文本列,最大长度为65,535(2 16  -  1)个字符.在存储中,每个都使用一个双字节长度前缀,表示值中的字节数量.

  • MEDIUMTEXT : 此数据类型表示文本列,其最大长度为16,777,215(2 24  -  1)个字符.在存储中,每个都使用一个三字节长度的前缀,表示值中的字节数量.

  • LONGTEXT : 此数据类型表示文本列,最大长度为4,294,967,295或4GB(2 32  -  1)个字符.在存储中,每个都使用一个四字节长度前缀,表示值中的字节数量.

  • ENUM : 此数据类型表示只包含列表中单个值的字符串对象.

  • SET : 此数据类型表示从列表中具有零个或多个值的字符串对象,最多包含64个成员. SET值在内部显示为整数值.