Mysql blob字段 是放图片的,一般的数据用text都可以了

本文详细介绍了MySQL数据库中BLOB类型的大小限制及其配置方法。针对不同的BLOB子类型(如TinyBlob、Blob、MediumBlob及LongBlob),文章列举了各自的大小限制及存储需求,并提供了如何调整MySQL设置以支持更大二进制对象的具体步骤。

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

http://www.sowsoy.com/topics-374.html


MySQL中的BLOB类型大小限制

MySQL 对LongBlob类型字段的最大存储容量默认限定为1M,即如果你要存储大于1M的二进制大对象,需要修改MySQL数据库的大小,使其能支持更大的二进制容量。可在 my.cnf/my.ini 文件中增加设置如下:

[mysqld]
set-variable = max_allowed_packet=16M


字段类型 最大长度(字节) 字节范围 存储需求
TinyBlob 255 0 到28-1 值的长度加上用于记录长度的1个字节
Blob 65K 0 到216-1 值的长度加上用于记录长度的2个字节
MediumBlob 16M 0 到224-1 值的长度加上用于记录长度的3个字节
LongBlob 4G 0 到232-1 值的长度加上用于记录长度的4个字节


BLOB的含义

  BLOB (binary large object),用来存储二进制大对象的字段类型。

  BLOB往往是一个大文件,典型的BLOB是一张图片、一个声音或一个视频文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
blob数据存入MySQL数据库的text字段可以通过以下步骤实现: 1. 将blob数据转换为字符串。 2. 创建一个MySQL连接对象。 3. 使用pandas将数据读入dataframe中。 4. 将dataframe中的blob数据列转换为字符串。 5. 将dataframe中的数据插入到MySQL数据库的text字段中。 下面是一个示例代码,可以将一个包含blob数据的dataframe存储到MySQL数据库的text字段中: ```python import pandas as pd import mysql.connector # 将blob数据转换为字符串 def blob_to_string(blob): return str(blob, 'utf-8') # 创建MySQL连接对象 conn = mysql.connector.connect(host='localhost', user='root', password='password', database='mydb') # 读入数据并将blob数据列转换为字符串 df = pd.read_csv('data.csv') df['blob_data'] = df['blob_data'].apply(blob_to_string) # 将dataframe中的数据插入到MySQL数据库的text字段中 cursor = conn.cursor() for index, row in df.iterrows(): sql = "INSERT INTO mytable (id, text_data) VALUES (%s, %s)" val = (row['id'], row['blob_data']) cursor.execute(sql, val) conn.commit() # 关闭MySQL连接 conn.close() ``` 在上面的代码中,我们首先定义了一个函数`blob_to_string`来将blob数据转换为字符串。然后,我们创建了一个MySQL连接对象,并使用pandas将数据读入dataframe中。接下来,我们将dataframe中的blob数据列转换为字符串,然后使用循环逐行将数据插入到MySQL数据库的text字段中。最后,我们关闭了MySQL连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值