MariaDB数据类型

数据类型是数据的一种属性,它决定了数据的存储格式、有效范围及其它相应的限制。MariaDB的数据类型包括:字符型、整型、浮点值、日期时间型、布尔型及内建类型。



一、字符型

1、CHAR和VARCHAR类型

CHAR类型的长度是固定的,其取值范围为0-255。

VARCHAR类型的长度是可变,其取值范围为0-65535。

CHAR类型的长度定义了多少就会分配多少,适用于内容固定的内容;而VARCHAR类型的长度定义的是最大值,用多少分配多少,适用于内容不确定的内容。

比如:

CHAR(10)表示指定长度为10字节,插入值‘1’或‘1234’都会占用10个字节;

VARCHAR(10)表示指定最大长度为10字节,而其占用的实际长度为字符串的长度加1,插入值‘1’时占用2个字节,插入值为‘1234’时占用5个字节。

2、TEXT类型

TEXT类型是一种特殊的字符串类型。只能用于保存诸如新闻之类的字符数据。

TEXT类型包括TINYTEXT、TEXT、MEDIUMTEXT、LOGNTEXT。其区别如下表所示:

           类    型          长 度 范 围          占 用 空 间
         TINYTEXT          0-255字节         值的长度+2个字节
         TEXT          0-65535字节         值的长度+2个字节
         MEDIUMTEXT          0-2^24字节         值的长度+3个字节
         LONGTEXT          0-2^32字节         值的长度+4个字节

3、BINARY和VARBINARY类型

这两种数据类型都用于存放二进制数据的,二者的区别与CHAR和VARCHAR的区别相同,BINARY是定长的,取值范围为0-255,VARBINARY是变长取值范围为0-65535。

4、BLOB类型

BLOB类型是一种特殊二进制类型。用于保存数据量大的二进制数据,比如图片等。BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。这几种数据类型的区别与TEXT类型相似,主要是能够保存的数据大小不同。

对于字符类型可以使用以下修饰符进行限定:

NULL:表示该字段可以为空值;

NOT NULL:表示该字段不能为空值;

可以在插入的字符中使用通配符:

%:匹配任意长度的任意字符;

_:匹配任意单个字符。



二、数值型

1、整型

此种数据类型用于存储整数值。其包含的类型及取值范围如下表所示:

        类  型 占用字节数 无符号数的取值范围 有符号数的取值范围
TINYINT 1 0-255 -128-127
SMALLINT 2 0-65535 -32768-32767
MEDIUMINT 3 0-(2^24-1) -(2^24/2)-(2^24/2-1)
INT 4 0-(2^32-1) -(2^32/2)-(2^32/2-1)
BIGINT 8 0-(2^64-1) -(2^64/2)-(2^64/2-1)

2、浮点型和定点型

MariaDB中使用浮点数和定点数来表示小数。浮点弄包括单精度浮点数(FLOAT)和双精度浮点数(DOUBLE)。定点型使用DECIMAL(m,d)表示。

其中:FLOAT占用4字节,DOUBLE占用8字节,DECIMAL占用(m+2)个字节。

DECIMAL(m,d)中,m表示数字的总长度,小数点不占位;d表示小数点后面的数字长度。

例如:DECIMAL(10,5)表示数据为DECIMAL型,数据长度为10,小数点后保留5位。

注意浮点数也可以使用(m,d)的方法来指定精度,但这不是浮点数的标准用法,不建议使用,可能会对数据库的迁移造成影响。

对于数值类型可以使用以下修饰符进行限定:

UNSIGNED:表示只能插入无符号数值;

NULL:表示该字段可以为空值;

NOT NULL:表示该字段不能为空值;

DEFAULT #:为该字段设置默认值;

AUTO_INCREMENT:使该字段的数值自动增长。



三、布尔型

MariaDB中没有专用布尔型,可以使用BOOLENG来进行数据类型的定义,但在查询会显示为TINYINT(1)。

在TINYINT(1)中‘1’表示显示出来的位数。



四、日期时间型

MariaDB中有多种用于表示日期和时间的数据类型。其包含的数据类型及取值范围见下表:

     类  型     字节数                       取 值 范 围
      DATE       4 1000/01/01-9999/12/31 
      TIME       3 -838:59:59-838:59:59
      YEAR       1 1901-2155
      DATETIME       8 1000/01/01 00:00:00-9999/12/31 23:59:59
      TIMESTAMP       4 19700101080001-20380119111407

对于日期时间类型可以使用以下修饰符进行限定:

NULL

NOT NULL

DEFAULT ‘value‘



五、内建类型

1、ENUM类型

ENUM类型称为枚举类型,表示仅能从给出的选项中选择其中一个。

例如:ENUM (‘a’, ‘b’,‘c’)表示插入的值只能在a,b,c中进行选择,其它的值都是无效的。

2、SET类型

SET类型称为集合类型,表示能使用给出的元素组合成字符串。

例如:SET (‘a’,’b’,’c’)表示插入的值可以是a,b,c三个字符的任意组合,即插入‘a‘,‘ac‘,‘abc‘都是合法的。

对于内建类型可以使用以下修饰符进行限定:

NULL

NOT NULL

DEFAULT ‘value‘

时间: 2024-10-30 08:27:46

MariaDB数据类型的相关文章

MariaDB -- 数据类型

Mariadb 的数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型 整数:int, bit 小数:decimal                                   #decimal(5,2) 字符串:varchar, char 日期时间:date, time, datetime 枚举类型(enum) 约束 主键primary key:物理上存储的顺序 非空not null:此字段

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL A

MariaDB数据库(二)

1. MariaDB数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行,尽量使用范围小的,而不用大的. 1.1  常用的数据类型 整数:int,bit(位,0和1):bit(1)有两种可能,0或1,bit(2)有四种可能,00.01.10.11. 小数:decimal:                                   #decimal(5,2) 字符串:varchar,char 日期时间:date,time,datetime

mariadb 2

MariaDB 数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型 整数:int, bit 小数:decimal                                   #decimal(5,2) 字符串:varchar, char 日期时间:date, time, datetime 枚举类型(enum) 约束 主键primary key:物理上存储的顺序 非空not null:此字段不

MariaDB基础(1)--数据类型

MariaDB介绍      MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.

数据库MySQL/mariadb知识点——数据类型

数据类型 所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. 在 SQL 中,将数据类型分成了三大类,分别为:数值型.字符串型和日期时间型. 选择正确的数据类型对于获得高性能至关重要,三大原则: 更小的通常更好,尽量使用可正确存储数据的最小数据类型 简单就好,简单数据类型的操作通常需要更少的CPU周期 尽量避免NULL,包含为NULL的列,对MySQL更难优化 1.数值型 精确数值 INT TINYINT 微整型 1

‘’数据库基础、MariaDB服务部署、库表基本管理、数据类型‘’经典案例

案例1:部署MariaDB服务器 案例2:使用mysql连接工具 案例3:库的基本操作 案例4:表格创建及查询 案例5:删除表 案例6:复制表 案例7:字符型字段应用 案例8:数值型字段应用 1 案例1:部署MariaDB服务器1.1 问题 本例要求在CentOS 7虚拟机上部署MariaDB数据库服务器,完成下列任务: 1)安装mariadb-server.mariadb软件包 2)启动mariadb服务,并设置开机自启,确认服务状态 3)将数据库管理用户 root 的密码设为 [email 

Mariadb的基础应用

Mariadb概述: MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险. MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB. MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发

CentOS7下mariadb日常管理

在CentOS7下,官方提供的mysql的rpm包就是mariadb,可查看mariadb包信息 [[email protected] ~]$rpm -qi mariadb # 需要先安装该包 Name : mariadb # 名称 Epoch : 1 Version : 5.5.52 # 版本 Release : 1.el7 # 发行版 Architecture: x86_64 # 支持安装的CPU架构 Install Date: Mon 24 Apr 2017 08:44:48 AM CST