MYSQL数据库表字段类型(三)

本文详细介绍了MySQL中的二进制数据类型,包括BIT、BINARY、VARBINARY、BLOB及其变体。探讨了每种类型的特点、存储需求及应用场景,适合数据库开发者和管理员阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二进制字符串类型

链接
整数类型,浮点数类型和定点类型
文本字符串类型

MYSQL的二进制数据类型有BIT,BINARY,MEDIUMBLOB和LONGBLOB。本节将讲解各类二进制字符串类型的特点和使用方法。表一列出了MYSQL中的二进制数据类型。

表一
类型名称说明存储需求
BIT(M)位字段类型大约(M+7)/8字节
BINARY(M)固定长度二进制字符串M字节
VARBINRAY(M)可变长度二进制字符串M+1字节
TINYBLOB(M)非常小的BLOBL+1字节,在此L<28
BLOB(M)小BLOBL+2字节,在此L<216
MEDIUMBLOL(M)中等大小BLOBL+3字节,在此L<224
LONGBLOB(M)非常大的BLOBL+4字节,在此L<232
BIT

BIT类型是位字段类型。表一中M表示每个值的位数,范围为1-64。如果没有给值,默认为1。如果为BIT(M)列分配的值的长度小于M位,就在值的左边用0填充。例如,为BIT(6)列分配一个为’101’,其效果与分配b’000101’相同。BIT数据类型用来保存位子段值。例如,以二进制的形式保存数据13(13的二进制形式位1101),在这里需要位数至少为4为的BIT类型,即可以定义列类型为BIT(4),大于二进制1111的数据是不能插入BIT(4)类型中的字段的。

这里建一个测试表做个简单测试
在这里插入图片描述

create table tmp2(b BIT(4));
INSERT INTO tmp2 values(2),(9),(15);
select * from tmp2;
select BIN(b) from tmp2;

BIN()函数将二进制的结果转换为对应的数字的值,BIN()函数将数字转换为二进制。

BINARY和VARBINARY类型

BINARY和VARBINARY类型于CHAR和VARCHAR(MYSQL数据库表字段类型(二)),不同的是它们包含二进制字符串。其使用的语法格式如下:

列名称 BINARY(M)或者VARBINARY(M)

BINARY类型的长度是固定的,指定长度之后,不足最大长度的,将在它们右边填充’\0’补充以达到指定长度。例如:指定列数据类型为BINARY(3),当插入‘a’时,存储的内容实际为’a\0\0’,当插入’ab’时,实际存储的内容为’ab\0’,不管存储的内容是否达到指定的长度,其存储空间均为指定的值M。

VARBINARY类型的长度是可变的,指定好长度之后,其长度可以在0到最大指之间。例如:指定列数据类型为VARBINARY(20),如果插入的值的长度只有10,则实际存储空间为10加1,即实际占用的空间为字符串的实际长度加1。

BLOB类型

BLOB是一个二进制大对象,用来存储可变数量的数据。BLOB类型分为4种:TINYBLOB,BLOB,MEDIUMBLOB和LONGBLOB,它们可容纳值的最大值长度不同,如表一所示。TEXT列存储的是非二进制字符串(字符字符串)。BLOB列没有字符集,并且排序和比较基于列值字节的数值;TEXT列有一个字符集,并且根据字符集对值进行排序和比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值