这篇文章主要介绍“Mariadb数据类型有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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填充,且为变为无符号数
对于浮点数,可限制其整体位数和小数点后位数
(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: 0MariaDB [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: 0MariaDB [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则占两个元素
关于“Mariadb数据类型有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。