详解Mariadb数据类型

MariaDB是MySQL数据库的一个分支,使用方法几乎与MySQL完全一致,包括命令、界面、使用等,根据官方介绍,在MariaDB 5.5版本之前,所欲的功能特性完全继承自MySQL,因此使用MariaDB 5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。

数据类型

数据类型->是一类具有相同属性、相同性质的数据分类的抽象。

例如: 字符串,就是一个个的字符组成一串就叫字符串…在计算机中可以划分子串、可以在字符串末尾添加新的字符,而这类操作就只能操作字符串数据,而不能操作整数。 数字型,我们最常接触的阿拉伯数字,可以进行算数运算、逻辑运算等操作

Mysql中的数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

1.对于整数类型,可以限制其长度,格式如下:

整数类型[(M)] [SIGNED | UNSIGNED | ZEROFILL]

M为数字的位数,例如TINYINT(3),就只能存储三位数,位数应不超过其所能表示的范围 SIGNED:默认即为有符号数 UNSIGNED:指定为无符号数 ZEROFILL:当不满足M位时,其前用0填充,且为变为无符号数

2.对于浮点数,可限制其整体位数和小数点后位数

(FLOAT|DOUBLE)[(M,D)] [SIGNED | UNSIGNED | ZEROFILL]

M为总的位数,D为小数点后的位数 ZEROFILL对于浮点型,起作用等同于UNSIGNED

MariaDB [mydb]> DESC t1;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c1    | float(5,2)   | YES  |     | NULL    |       |
| c2    | double(10,3) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

MariaDB [mydb]> INSERT INTO t1 VALUES(23.5,12.34566777);
Query OK, 1 row affected (0.01 sec)

MariaDB [mydb]> SELECT * FROM t1;   //这里可以看到,在其后补了0
+-------+--------+
| c1    | c2     |
+-------+--------+
| 23.50 | 12.346 |
+-------+--------+
1 row in set (0.00 sec)

日期和时间类型

格式缩写: 日期时间格式,除了标准的格式以外还支持松散的格式。

创建测试表,结构如下:

MariaDB [mydb]> desc datetable;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type      | Null | Key | Default           | Extra                       |
+-------+-----------+------+-----+-------------------+-----------------------------+
| c1    | date      | YES  |     | NULL              |                             |
| c2    | time      | YES  |     | NULL              |                             |
| c3    | datetime  | YES  |     | NULL              |                             |
| c4    | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+

对于DATE型:YY-MM-DD、YYMMDD、YYYY/MM/DD

MariaDB [mydb]> INSERT INTO datetable(c1) VALUES('2018-01-01'),('18-01-01'),
   -> ('180101'),('2018/01/01'),(180101);
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

MariaDB [mydb]> SELECT c1 FROM datetable;
+------------+
| c1         |
+------------+
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
| 2018-01-01 |
+------------+
5 rows in set (0.00 sec)

对于TIME型:’D HH:MM:SS’、’HH:MM:SS’、’HH:MM’、’D HH:MM’、’D HH’, ‘SS’、 ‘HHMMSS’ D代表天,即TIME+D*24

MariaDB [mydb]> INSERT INTO datetable(c2) VALUES
   -> ('12:20:20'),('1 12:20:20'),
   -> ('12:20'),('1 12'),('20'),('122020'),
   -> (122020);
Query OK, 7 rows affected (0.03 sec)
Records: 7  Duplicates: 0  Warnings: 0

MariaDB [mydb]> SELECT c2 FROM datetable;
+----------+
| c2       |
+----------+
| 12:20:20 |
| 36:20:20 |
| 12:20:00 |
| 36:00:00 |
| 00:00:20 |
| 12:20:20 |
| 12:20:20 |
+----------+
7 rows in set (0.00 sec)

对于DATETIME和TIMESTAMP这两种格式,即是上面时间简写格式的缩写,例如:

20180101122020 -> ‘2018-01-01 12:20:20’

对于TIMESTAMP这种格式,比较常用吧应该说,其存储的是自’1970-01-01 00:00:00’到存储时间的毫秒数,其默认值可以为CURRENT_TIMESTAMP或其同义词:CURRENT_TIMESTAMP(), NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP,LOCALTIMESTAMP()

字符串类型

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB是一个二进制大对象,可以容纳可变数量的数据: 有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。 有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

其他类型

枚举型:ENUM(‘value1′,’value2’,…) 存储字节:因其存储的是元素编号,所以对于0-255个元素,只占一个字节,而255-65535则占两个元素

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/221533.html<

(0)
运维的头像运维
上一篇2025-04-15 02:04
下一篇 2025-04-15 02:05

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注