良好的字段定义对于优化数据库至关重要.理想的方法要求您专门使用所需类型和大小的字段.例如,如果您只使用宽度为五个字符的字段,则不要定义一个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值在内部显示为整数值.