MySQL的数据库基础知识之数据类型详解-二进制字符串类型
前言
正好趁着这次MySQL技能树的建成一起学习复习一下MySQL数据库的基本知识。也是一直在用这个数据库,有些基础的知识点长久不用就会遗忘,就比如数据类型溢出的问题,很多时候建表的时候随便给定个类似,结果导入数据的时候报错又得删表就很麻烦,如果提前做好数据长度设置可以有效的避免这个问题而且还能节省很多空间,因此对MySQL所有数据类型做个总结是一个值得的选择。 最好的总结方式就是根据学习顺序整理出一张思维导图可以帮我们很快的梳理清楚思路:
该系列文章将按照这个脉络行文,基本覆盖到使用SQL处理日常业务以及常规的查询建库分析以及复杂操作方方面面的问题。从基础的建库建表逐步入门到处理各类数据库复杂操作,以及专业的SQL常用函数讲解都花费了大量时间和心思创作。
MySQL中的二进制字符串类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据。
一、BIT类型
BIT类型中,每个值的位数最小值为1,最大值为64,默认的位数为1。BIT类型中存储的是二进制值。
create table mytable1( b BIT(5) ); 复制代码
INSERT INTO mytable1(b) VALUES (2),(8),(16); 复制代码
使用b+0查询数据时,可以直接查询出存储的十进制数据的值。
SELECT b+0 FROM mytable1; 复制代码
注意:在向BIT类型的字段中插入数据时,一定要确保插入的数据在BIT类型支持的范围内。
二、BINARY与VARBINARY类型
BINARY类型为定长的二进制类型,当插入的数据未达到指定的长度时,将会在数据后面填充“”字符,以达到指定的长度。同时BINARY类型的字段的存储空间也为固定的值。
VARBINARY类型为变长的二进制类型,长度的最小值为0,最大值为定义VARBINARY类型的字段时指定的长度值,其存储空间为数据的实际长度值加1。
create table mytable2( b BINARY(10), vb VARBINARY(10) ); 复制代码
其中,b字段与vb字段指定的长度均为10。
INSERT INTO mytable2(b,vb) VALUES (10,10); SELECT LENGTH(b), LENGTH(vb) FROM mytable2; 复制代码
可以看到,b字段数据的长度为10,vb字段的数据长度为2。说明BINARY类型的字段长度为固定值,为定义字段时指定的字段长度,而VARBINARY类型的字段长度的值是可变的。
三、BLOB类型
MySQL中的BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 4种类型,可以存储一个二进制的大对象,比如图片、音频和视频等。 需要注意的是,在实际工作中,往往不会在MySQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到服务器的磁盘上,并将图片、音频和视频的访问路径存储到MySQL中。
点关注,防走丢,如有纰漏之处,请留言指教,非常感谢
以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见