【原創】python3將圖片寫入mysql數據庫(一)

01.環境準備

使用的包:pymysql

pymysql下載地址:https://pypi.python.org/pypi/PyMySQL#downloads

02.pymysql安裝:

https://blog.csdn.net/u013952400/article/details/80432452

03.mysql的blob字段解釋:

轉自:https://blog.csdn.net/cbbbc/article/details/49024011

BLOB類型的字段用於存儲二進制數據
MySQL中,BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個類型之間的唯一區別是在存儲文件的最大大小上不同。
MySQL的四種BLOB類型
類型 大小(單位:字節)
TinyBlob 最大 255
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

04.示例代碼:

# -*- coding=utf-8 -*-
import pymysql
import sys

#讀取圖片文件
#blob最大隻能存65K的文件

#fp = open("test.jpg",'rb',encoding='utf-8')
fp = open("test2.jpg",'rb')
img = fp.read()
fp.close()
# 創建連接
conn = pymysql.connect(host='192.168.100.128',
                       port=3306,
                       user='root',
                       passwd='root',
                       db='python_operation_01',
                       charset='utf8',
                       use_unicode=True,)
# 創建遊標
cursor = conn.cursor()

#注意使用Binary()函數來指定存儲的是二進制
#cursor.execute("INSERT INTO demo_pic_repo SET touxiang_data= %s" % pymysql.Binary(img))

sql="INSERT INTO demo_pic_repo (touxiang_data_blob) VALUES  (%s)"
cursor.execute(sql , img)

# 提交,不然無法保存新建或者修改的數據
conn.commit()

# 關閉遊標
cursor.close()
# 關閉連接
conn.close()

05.注意事項:

一定要主要到blob只能最大存儲65K的字節流文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章