MariaDB 数据类型
良好的字段定义对于优化数据库至关重要。理想的做法是仅使用所需类型和大小的字段。例如,如果您只需要使用一个宽度为五个字符的字段,则不要定义一个宽度为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 − 这个数据类型表示带符号的范围在9223372036854775808到9223372036854775807之间的整数,以及无符号范围在0到18446744073709551615之间的整数。
-
DECIMAL (也可以用DEC,NUMERIC,FIXED)− 这个数据类型表示精确的固定点数字,其中M指定其数字,D指定小数点后的数字。M值不添加“-”或小数点。如果D设置为0,将没有小数部分显示,值将被四舍五入到最近的DECIMAL插入。允许的最大位数为65,小数最大为30。默认M的值为10,D的值为0。
-
FLOAT − 这个数据类型表示小的浮点数,值为0或在以下范围内的数字 −
- BIGINT − 这个数据类型表示带符号的范围在9223372036854775808到9223372036854775807之间的整数,以及无符号范围在0到18446744073709551615之间的整数。
-
-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’[值]’”应用,其中值表示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之间的值。
字符串数据类型
MariaDB支持的字符串类型值如下:
-
String literals - 这个数据类型表示由引号括起来的字符序列。
-
CHAR - 这个数据类型表示一个右补空格的固定长度字符串,长度由M表示,范围为0到255,其默认值为1。
-
VARCHAR - 这个数据类型表示一个可变长度的字符串,M表示最大列长度,范围为0到65535。
-
BINARY - 这个数据类型表示二进制字节字符串,M表示列长度(字节)。
-
VARBINARY - 这个数据类型表示可变长度的二进制字节字符串,M表示列长度。
-
TINYBLOB - 这个数据类型表示最大长度为255个字节的二进制字节字符串。
-
BLOB类型 − 此数据类型表示具有最大长度为255(28 – 1)字节的blob列。在存储中,每个使用一个字节的长度前缀来指示值中的字节数量。
-
BLOB类型 − 此数据类型表示具有最大长度为65,535(216 – 1)字节的blob列。在存储中,每个使用两个字节的长度前缀来指示值中的字节数量。
-
MEDIUMBLOB类型 − 此数据类型表示具有最大长度为16,777,215(2 24 - 1)字节的blob列。在存储中,每个使用三个字节的长度前缀来指示值中的字节数量。
-
LONGBLOB类型 − 此数据类型表示具有最大长度为4,294,967,295(2 32
-
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值在内部以整数值表示。