15 mysql tiny/meidum/long blob/text 的数据存储

这篇具有很好参考价值的文章主要介绍了15 mysql tiny/meidum/long blob/text 的数据存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 

探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 

本文主要 的相关内容是 tiny/medium/long blob/text 类类型的相关数据的存储  

这部分数据 客户端 和 服务器这边的交互 主要是以字符串的形式交互 

服务器这边的存储 为二进制, 主要是本来就是 二进制 或者 将字符串按照给定的编码进行转换为二进制  

 文章来源地址https://www.toymoban.com/news/detail-689489.html

text 和 blob 类似, 因此 我们这里 仅仅介绍 blob, text 需要根据当前字段编码转换为 字节序列 

tinyblob, blob, mediumblob, longblob 的差异主要是可以存储的数据量不相同, 单字节存储长度, 双字节存储长度, 三字节存储长度, 四字节存储长度 

 

 

mysql 中 blob的服务器客户端的数据交互

测试的 数据表如下 

CREATE TABLE `tz_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `field1` blob,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

INSERT INTO `test`.`tz_test`(`id`, `field1`) VALUES (1, 'boy,girl');

 

测试脚本如下 

package com.hx.test07;

/**
 * Test06MysqlTimezone
 *
 * @author Jerry.X.He
 * @version 1.0
 * @date 2023/4/24 16:26
 */
public class Test06MysqlTimezone {

    // Test06MysqlTimezone
    public static void main(String[] args) {

        String url = "jdbc:mysql://10.60.50.16:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&autoReconnectForPools=true&useSSL=false";
        String username = "root";
        String password = "root";
        JdbcTemplate jdbcTemplate = Test14GenExpertSql.getMysqlJdbcTemplate(url, username, password);

        String sql = " select * from tz_test; ";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        int x = 0;


    }

}

 

mysql 是将给定的 blob 的数据以 字节序列的形式 交互给客户端的

mysql 服务器中对应的类型为 BLOB

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

 

blob 这边转换, 是从包中获取字节序列

这里是 new byte[] { 0x62, 0x6f, 0x79, 0x2c, 0x67, 0x69, 0x72, 0x6c }

字符串表示为 “boy,girl”

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

与客户端的交互, 获取给定的 blob, 以目标编码成字符串 响应回去

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

 

mysql 服务器 blob的存储

将给定的 utf8mb4_general_ci 的 “gir1l,unknown” 转换为 binary, 然后 之后以二进制的形式存储

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

记录 带存储的 binary 的长度, 和 数据

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

blob 的二进制的转换方式如下, 直接取的 来源字符串 以及 来源编码

然后 转换为 binary, 然后 存储给定的 binary

15 mysql tiny/meidum/long blob/text 的数据存储,12 mysql,mysql,blob,text,longtext

 

 


 

 

到了这里,关于15 mysql tiny/meidum/long blob/text 的数据存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【seaweedfs】3、f4: Facebook’s Warm BLOB Storage System 分布式对象存储的冷热数据

    论文地址 Facebook的照片、视频和其他需要可靠存储和快速访问的二进制大型对象(BLOB)的语料库非常庞大,而且还在继续增长。随着BLOB占用空间的增加,将它们存储在我们传统的存储系统-- Haystack 中变得越来越低效。为了提高我们的存储效率(以Blob的有效复制系数衡量),我们检

    2024年02月11日
    浏览(38)
  • 【Microsoft Azure 的1024种玩法】三十四.将本地数据文件快速迁移到Azure Blob云存储最佳实践

    AzCopy 是一个Azure提供的一款命令行工具,我们可通过简单命令将本地的数据快速复制到 Azure Blob 存储中,本文主要讲述了如何通过AzCopy 工具将本地数据文件快速迁移到Azure Blob云存储 【Microsoft Azure 的1024种玩法】一.一分钟快速上手搭建宝塔管理面板 【Microsoft Azure 的1024种玩法

    2024年02月09日
    浏览(51)
  • Azure不可变Blob存储

    不可变的存储是一种用于存储业务关键型 Blob 数据的存储方式。与可变存储相反,不可变存储的特点是一旦数据被写入后,便无法再对其进行修改或删除。这种存储方式提供了高度的数据保护和安全性,适用于存储不可更改的数据,例如数据备份、归档、合规性存储等。 使用

    2024年02月12日
    浏览(51)
  • JS前端读取本地上传的File文件对象内容(包括Base64、text、JSON、Blob、ArrayBuffer等类型文件)

    FileReader.readAsArrayBuffer() - Web API 接口参考 | MDN FileReader 接口提供的 readAsArrayBuffer() 方法用于启动读取指定的 Blob 或 File 内容。当读取操作完成时,readyState 变成 DONE(已完成),并触发 loadend 事件,同时 result 属性中将包含一个 ArrayBuffer 对象以表示所读取文件的数据。 https://

    2024年02月15日
    浏览(57)
  • 【Azure】微软 Azure 基础解析(八)Azure 存储服务:探索Blob存储、队列存储、文件存储的特性与适用场景

    本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。 本系列文章列表如下: 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx 【Azure】微软 Azure 基础解析(四)Azure核心体系结构组件之数据中心、区域与区域

    2024年02月07日
    浏览(68)
  • C++中如何处理超长的数字(long long类型的整数都无法存储的)

    在 C++中,如果数字超出了 long long 类型的范围,可以考虑使用字符串或第三方库(如 Boost.Multiprecision)来表示和处理超长数字。要使用第三方库需要下载并安装所需的第三方库,在此就不介绍了。 在此介绍使用字符串表示和处理超长数字。本文将介绍使用C++字符串实现超长的

    2024年02月09日
    浏览(43)
  • 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMI

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月10日
    浏览(44)
  • 【Azure 存储服务】使用 AppendBlobClient 对象实现对Blob进行追加内容操作

    在Azure Blob的官方示例中,都是对文件进行上传到Blob操作,没有实现对已创建的Blob进行追加的操作。如果想要实现对一个文件的多次追加操作,每一次写入的时候,只传入新的内容?   Azure Storage Blob 有三种类型: Block Blob, Append Blob 和 Page Blob。其中,只有Append Blob类型支持追

    2024年02月03日
    浏览(67)
  • MySQL-12.MySQL数据类型

    常见数据类型的属性,如下 2.1 类型介绍 整数类型一共有5种,包括TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER)和BIGINT。 它们的区别如下表所示 2.2 可选属性 整数类型的可选属性有三个 2.2.1 M M :显示宽度,M的取值范围是(0,255)。例如,int(5):当数据宽度小于5位的时候在数字前面需要用

    2024年01月15日
    浏览(44)
  • Tiny ImageNet 数据集分享

    ImageNet官网上的数据集,动辄就100G,真的是太大了。 有需要 Tiny Image Net 数据集的小伙伴可以点击这个下载链接: 数据集简介: Tiny ImageNet Challenge 来源于斯坦福 CS231N 课程,共237M Tiny Imagenet 有 200 个类。 每个类有 500 张训练图像、50 张验证图像和 50 张测试图像。 关于tiny im

    2023年04月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包