Heim >Backend-Entwicklung >Python-Tutorial >Wie speichere ich Bilder in MySQL und zeige sie mit Python3.x an?
Zuerst erstellen wir die Datenbank, dann geben wir cmd ein, in Geben Sie ipconfig in das Systembetriebsfeld ein, um die IP-Informationen der Maschine anzuzeigen
Das Wichtigste ist, es zu wissen die IP-Adresse der Maschine.
Wir müssen zuerst eine Tabelle in MySQL erstellen, die Felder festlegen und den folgenden Code eingeben:
create table image(id int(5)auto_increment primary key,image1 mediumblob)
Dann müssen wir Python öffnen, was ich Verwenden Sie Es ist Pycharm.
Das Paket, das wir verwenden müssen, ist pymysql
Wir ziehen das Bild, das wir importieren möchten, in Pycharm, legen den Namen für die spätere Verwendung fest und lesen zuerst die Bilddatei ( Verwenden von die binäre Lesemethode ‘rrb’)
f = open('2.jpg','rb') img = f.read() f.close()
Dann verbinden wir uns mit MySQL:
gao = pymysql.connect( host='157.142.13.27',#本机或其他机器的ip地址 port=3306,#接口 user='root',#用户名 passwd='******',#密码 db='gao',#你所使用的数据库 charset='utf8',#编码方式 use_unicode=True, )
Erstellen Sie einen Cursor und verwenden Sie die Cursorfunktion:
g = gao.cursor()#🎜 🎜#Bildinformationen lesen
f = open('2.jpg','rb')data = f.read()Verwenden Sie die Ausführungsfunktion, um die Datenbank zu ändern:
g.execute('insert into image(image1) values (%s)'%data)Hinweis: Wenn immer angezeigt wird, dass Sie keine Berechtigung zum Herstellen einer Verbindung zur Datenbank haben, werden wir dies tun Melden Sie sich zuerst bei der Datenbank an, geben Sie Ihre MySQL-Datenbank ein und ändern Sie dann den Host:
update user set host = '%' where user = 'root';mysql>flush rivilegesBeachten Sie, dass der Cursor und die Verbindung am Ende geschlossen werden müssen. Nach dem Schreiben können wir den Inhalt der Tabelle überprüfen, die wir in der Datenbank festgelegt haben. Aufgrund der Dekodierungsmethode sehen wir jedoch eine Reihe verstümmelter Zeichen. Wir können das Bild in Pycharm anzeigen. Python importiert Bilder in die MySQL-Datenbank
# 今天需要用Python实现将图片导入MySQL数据库。看了看网上的一些写法,自己也过一遍,记录下来,以防忘记。 # 功能:将图片导入到MySQL数据库 import sys import pymysql from PIL import Image import os path = "./" #读取图片文件 fp = open("./陈丹江-420381198212068517.JPG", 'rb') img = fp.read() fp.close() #建立一个MySQL连接 database = pymysql.connect(host="10.31.143.6", user="root", passwd="******", db="aaa", charset='utf8') # 存入图片 # 创建游标 cursor = database.cursor() #注意使用Binary()函数来指定存储的是二进制 sql = "INSERT INTO vbp_person_ext (person_id, image, img_type) VALUES (%s, %s, %s);" args = ('39', img, 'JPG') cursor.execute(sql, args) database.commit() # 关闭游标 cursor.close() # 关闭数据库连接 database.close() print("============") print("Done! ")
UnicodeEncodeError: Der Codec „latin-1“ kann Zeichen in Position 303-304 nicht kodieren: Ordnungszahl nicht vorhanden Bereich (256)Lösung: charset='utf8
hinzufügen
Das obige ist der detaillierte Inhalt vonWie speichere ich Bilder in MySQL und zeige sie mit Python3.x an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!