Mariadb 是一种开源的关系型数据库管理系统,它是MySQL的一个分支,由于其开源、可靠性高、易于使用和扩展性强,因此被广泛应用于各种场合。Mariadb 数据库中的数据类型是定义字段的数据类型,它决定了字段可以存储什么样的数据。
Mariadb 支持多种不同的数据类型,包括整形、浮点型、日期时间型、字符串型、布尔型以及大对象(BLOB)。其中,整形包含TINYINT, SMALLINT, MEDIUMINT, INT 和 BIGINT;浮点型包含FLOAT 和 DOUBLE;日期时间型包含DATE, TIME, YEAR, DATETIME 和 TIMESTAMP;字符串型包含CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT 和 LONGTEXT;布尔型包含BOOLEAN;大对象(BLOB)包含TINYBLOB, BLOB, MEDIUMBLOB 和 LONGBLOB。
// 例如:创建一个name字段,该字段只能存储最多20个字节的文本信息 CREATE TABLE table_name (name VARCHAR(20));
良好的字段定义对于优化数据库至关重要。 理想的方法要求您专门使用所需类型和大小的字段。 例如,如果你只使用一个字段,五个字符宽,不要定义一个字段,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,则不会出现小数或小数部分,并且该值将舍入为最接近的DECIMAL INSERT。最大允许位数为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]"”应用,其中值表示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(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 - 此数据类型表示最大长度为65,535(216 - 1)个字符的文本列。在存储中,每个都使用两字节长度的前缀,表示值中的字节数量。
MEDIUMTEXT - 此数据类型表示最大长度为16,777,215(224 - 1)个字符的文本列。在存储中,每个都使用三字节长度前缀,表示值中的字节数量。
LONGTEXT - 此数据类型表示最大长度为4,294,967,295或4GB(232 - 1)个字符的文本列。在存储中,每个使用四字节长度的前缀,表示值中的字节数量。
ENUM - 此数据类型表示一个列表中只有一个值的字符串对象。
SET - 此数据类型表示一个列表中具有零个或多个值的字符串对象,最多包含64个成员。 SET值在内部作为整数值存在。
ALTER命令提供了一种方法来更改现有表的结构,这意味着删除或添加列,修改索引,更改数据类型或更改名称等修改。 ALTER还会在元...
MariaDB是MySQL关系数据库管理系统的一个分支。 MySQL的原始开发人员在Oracle收购MySQL后提出的关注之后创建了MariaDB。 本教程...
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包...
Redis 服务器命令主要是用于管理 redis 服务。 实例 以下实例演示了如何获取 redis 服务器的统计信息: redis 127.0.0.1:6379 IN...
分布式锁一般有数据库乐观锁、基于Redis的分布式锁以及基于ZooKeeper的分布式锁三种实现方式,而本文将为大家带来的就是第二种基...
使用phpinfo()打印出 php 信息,有几点需要注意,需要通过这几个地方确定我们要下载的dll文件需要下载 php_redis(主要) 和...
oid2name— 解析一个PostgreSQL数据目录中的 OID 和文件结点。vacuumlo— 从PostgreSQL数据库中移除孤立的大对象这一节覆盖了con...
PostgreSQL在基本发布中包括了多种过程语言:PL/pgSQL、PL/Tcl、PL/Perl和PL/Python。此外,还有一些过程语言是在核心PostgreSQL...
我们创建外键后,可能有时会遇到要禁用外键的情况,那么在Oracle中,我们如何对外键进行禁用呢?语法在Oracle中,我们要禁用外键...