linux单精度型数据类型,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'

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/5264

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值