色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql數據庫上傳大文件

錢淋西2年前9瀏覽0評論

MySQL是一種常用的關系型數據庫管理系統,廣泛應用于各種場景。在實際使用中,常常遇到需要上傳大文件的需求。本文介紹在MySQL數據庫中上傳大文件的方法。

由于MySQL的默認最大包大小為1MB,因此需要對MySQL的配置進行修改。將max_allowed_packet參數修改為較大的值(例如,100MB)。

# 修改MySQL配置文件my.cnf或my.ini
[mysqld]
max_allowed_packet=100M

在進行文件上傳時,需要將文件內容通過BLOB類型保存至數據庫。為了避免數據庫過大,可以將文件拆分成多個塊,分別保存。以下代碼演示了如何實現文件上傳:

# 連接數據庫
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test"
)
cursor = db.cursor()
# 讀取文件
with open("large_file", "rb") as f:
file_content = f.read()
# 將文件拆分成多個塊,存入數據庫
chunk_size = 10 * 1024 # 每個塊10KB
chunks = [file_content[i:i+chunk_size] for i in range(0, len(file_content), chunk_size)]
for i, chunk in enumerate(chunks):
sql = "INSERT INTO files (id, chunk_num, chunk_content) VALUES (%s, %s, %s)"
val = (file_id, i, chunk)
cursor.execute(sql, val)
db.commit()

以上代碼將文件先拆分成10KB的塊,然后分別將每個塊保存到數據庫中。在查詢文件時,可以根據塊的編號將多個塊合并成一個文件。

總之,MySQL數據庫上傳大文件需要對max_allowed_packet參數進行配置,并將文件拆分成多個塊分別保存到數據庫中。