MySQL数据库基础:数据类型详解-二进制字符串类型

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL数据库基础:数据类型详解-二进制字符串类型

前言


最近MySQL的技能树已经建成了,一直想要复习一遍MySQL的基础知识,正好趁着这次MySQL技能树的建成一起学习复习一下MySQL数据库的基本知识。也是一直在用这个数据库,有些基础的知识点长久不用就会遗忘,就比如数据类型溢出的问题,很多时候建表的时候随便给定个类似,结果导入数据的时候报错又得删表就很麻烦,如果提前做好数据长度设置可以有效的避免这个问题而且还能节省很多空间,因此对MySQL所有数据类型做个总结是一个值得的选择。

最好的总结方式就是根据学习顺序整理出一张思维导图可以帮我们很快的梳理清楚思路:


f95d32a5ddcf40ca9c8a5a216705c6fc.png


该系列文章将按照这个脉络行文,此系列文章将被纳入我的专栏一文速学SQL各类数据库操作,基本覆盖到使用SQL处理日常业务以及常规的查询建库分析以及复杂操作方方面面的问题。从基础的建库建表逐步入门到处理各类数据库复杂操作,以及专业的SQL常用函数讲解都花费了大量时间和心思创作,如果大家有需要从事数据分析或者数据开发的朋友推荐订阅专栏,将在第一时间学习到最实用常用的知识。此篇博客篇幅较长,值得细读实践一番,我会将精华部分挑出细讲实践。博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。


cee6e356c4f846e99c0c1c1c129231ba.png

MySQL中的二进制字符串类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据。


一、BIT类型


BIT类型中,每个值的位数最小值为1,最大值为64,默认的位数为1。BIT类型中存储的是二进制值。

create table mytable1(
  b BIT(5)
  );
INSERT INTO mytable1(b) VALUES (2),(8),(16);

a55d50ed9f4d4ba8b7d02f476ea8f2cf.png

使用b+0查询数据时,可以直接查询出存储的十进制数据的值。


SELECT b+0 FROM mytable1;


5740ffacae3b4709992f693d37b13949.png

注意:在向BIT类型的字段中插入数据时,一定要确保插入的数据在BIT类型支持的范围内。


二、BINARY与VARBINARY类型


BINARY类型为定长的二进制类型,当插入的数据未达到指定的长度时,将会在数据后面填充“\0”字符,以达到指定的长度。同时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;


55d8407a0d6d4d27807f68b4dcc69ad3.png


可以看到,b字段数据的长度为10,vb字段的数据长度为2。说明BINARY类型的字段长度为固定值,为定义字段时指定的字段长度,而VARBINARY类型的字段长度的值是可变的。


三、BLOB类型


MySQL中的BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 4种类型,可以存储一个二进制的大对象,比如图片、音频和视频等。


需要注意的是,在实际工作中,往往不会在MySQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到服务器的磁盘上,并将图片、音频和视频的访问路径存储到MySQL中。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
存储 关系型数据库 MySQL
MySQL支持多种数据类型
MySQL支持多种数据类型
15 3
|
2天前
|
存储 关系型数据库 MySQL
什么是mysql的数据类型?
什么是mysql的数据类型?
9 2
|
2天前
|
存储 关系型数据库 MySQL
MySQL数据类型
MySQL数据类型
9 2
|
10天前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
34 4
|
1月前
|
自然语言处理 算法 Java
Java如何判断两句话的相似度类型MySQL的match
【9月更文挑战第1天】Java如何判断两句话的相似度类型MySQL的match
20 2
|
22天前
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
51 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
96 0
|
2月前
|
存储 关系型数据库 MySQL
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11

热门文章

最新文章

下一篇
无影云桌面