【原創】python3將圖片寫入mysql資料庫(一)
阿新 • • 發佈:2019-01-26
01.環境準備
使用的包:pymysql
pymysql下載地址:https://pypi.python.org/pypi/PyMySQL#downloads
02.pymysql安裝:
03.mysql的blob欄位解釋:
BLOB型別的欄位用於儲存二進位制資料MySQL中,BLOB是個型別系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個型別之間的唯一區別是在儲存檔案的最大大小上不同。MySQL的四種BLOB型別型別 大小(單位:位元組)TinyBlob 最大 255Blob 最大 65KMediumBlob 最大 16MLongBlob 最大 4G04.示例程式碼:
# -*- 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()