mysql中二进制文件类型_MySQL数据库字段类型中的二进制、枚举和集合类型以及修饰符介绍 | IT工程师的生活足迹...

MySQL 数据库存储数据表中的字段类型,介绍二进制类型、时间类型、集合类型、枚举类型和字段修饰符。

一、二进制类型

二进制字段类型是在MySQL数据库中存储二进制数据的数据类型。

二进制类型包括binary,varbinary,bit,tinyblob,blob,mediumblob,longblob

整数类型

取值范围

BINARY(M)

字节数为M字节,允许长度为0~M的固定长度二进制字符串

VARBINARY(M)

允许长度为0~M字节的可变长度二进制字符串,字节数为值的长度加1

BIT(M)

M位二进制数据,M最大值为64位

TINYBLOB

可变长度二进制数据,最多255个字节

BLOB

可变长度二进制数据,最多65535(216-1)个字节

MEDIUMBLOB

可变长度二进制数据,最多16777215(224-1)个字节

LONGBLOB

可变长度二进制数据,最多4294967295或4GB(232-1)个字节

1.1、binary类型

长度是固定的,在创建表时就指定了

不足最大长度的空间由‘\0’补全。举个例子,binary(50)就是指定binary类型的长度为50。

1.2、varbinary类型

长度是可变的,在创建表时指定了最大长度。

指定好了varbinary类型的最大值以后,其长度可以在0到最大长度之间。

举个例子,varbinary(50)的最大字节长度是50,但是,不是每条记录的字节长度都是50。

在这个最大值范围内,使用多少分配多少。varbinary类型实际占用的空间为实际长度加一。这样,可以有效的节约系统的空间。

1.3、bit类型

bit类型也是在创建表时指定了最大长度

其基本形式如下:bit(M),其中,‘M’指定了该二进制数的最大字节长度为M,

M的最大值为64。举个例子,bit(4)就是数据类型为bit类型,长度为4。若字段的类型bit(4),存储的数据是从0~~15。因为,变成二进制以后,15的值为1111,长度为4。

如果插入的值为16,其二进制数为10000,长度为5,超过了最大长度,因此,大于等于16的数是不能插入到bit(4)类型的字段中的。

在查询bit类型的数据时,要用bin(字段名+0)来将值转换为二进制显示

1.4、blob类型

blob类型是一种特殊的二进制类型。

blob可以用来保存数据量很大的二进制数据,如图片等。通常情况下,可以将图片,PDF文档都可以存储在文件系统中,然后在数据库中存储这些文件的路径。

这种方式存储比直接存储在数据库中简单,但是访问速度比存储在数据库中慢。

1.5、二进制类型比较

blob类型与text类型很类似,不同点在于blob类型用于存储二进制数据,blob类型数据是根据其二进制编码进行比较和排序的,而text类型是文本模式进行比较和排序的。

二、set 集合类型

多选字符串数据类型,适合存储表单界面的“多选值”。

三、enum 枚举类型

单选字符串数据类型,适合存储表单界面中的“单选值”。

四、其他类型

geometry、point、multipoint、linestring、multilinestring、polygon、geometrycollection等

五、类型修饰符

MySQL 数据表中字段修饰符用于对字段类型进行补充设置;合理的使用修饰符是数据库结构设置时,必须要考虑的。

null

数据列可包含null值

not null

数据列不允许包含null值

default

默认值

primary key

主键

auto_increment

自动递增,适用于整数类型

unsigned

无符号

character set name

指定一个字符集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值