最初にデータベースを構築し、次に cmd と入力し、システム操作ボックスに ipconfig と入力します。これを表示します マシンの IP 情報
#主なことは、マシンの IP アドレスを知ることです。
最初に mysql でテーブルを作成し、フィールドを設定して、次のコードを入力する必要があります:
create table image(id int(5)auto_increment primary key,image1 mediumblob)
次に、Python を開く必要があります。ここでは pycharm を使用します。
使用する必要があるパッケージは pymysqlです。
インポートしたい画像を pycharm にドラッグし、後で使用するために名前を設定します。最初に画像ファイルを読み取ります (バイナリ読み取りメソッドを使用し、 ‘rb’)
f = open('2.jpg','rb') img = f.read() f.close()
次に、mysql に接続します:
gao = pymysql.connect( host='157.142.13.27',#本机或其他机器的ip地址 port=3306,#接口 user='root',#用户名 passwd='******',#密码 db='gao',#你所使用的数据库 charset='utf8',#编码方式 use_unicode=True, )
カーソルを作成し、カーソル関数を使用します:
g = gao.cursor()
画像情報の読み取り
f = open('2.jpg','rb')data = f.read()
execute 関数を使用してデータベースを変更します:
g.execute('insert into image(image1) values (%s)'%data)
注: データベースに接続する権限がないことが常に表示される場合は、まずデータベースにログインし、mysql データベースを入力してから、ホストを変更します:
update user set host = '%' where user = 'root';mysql>flush rivileges
注: 最後にカーソルと接続を必ず閉じてください。
書き込み後、データベースに設定したテーブルの内容を確認するのですが、デコード方法の関係で文字化けの塊になってしまいますが、pycharmで画像を表示することができます。
# 今天需要用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! ")
データベース テーブル vbp_person_ext には、person_id、image、img_type の 3 つのフィールドが含まれています (画像は画像情報です)
エラー:
#UnicodeEncodeError: 'latin-1' コーデックは位置 303 ~ 304 の文字をエンコードできません: 序数が範囲 (256) にありません解決策: charset='utf8
を追加します。
以上が写真を MySQL に保存し、Python3.x を使用して表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。