먼저 데이터베이스를 구축한 다음 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()
실행 기능을 사용하여 데이터베이스를 수정합니다.
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(이미지는 이미지 정보)의 세 가지 필드가 포함되어 있습니다.
오류:
UnicodeEncodeError: 'latin-1 ' 코덱은 위치 303-304의 문자를 인코딩할 수 없습니다: 서수는 범위(256)에 없습니다
해결책: charset='utf8
추가위 내용은 MySQL에 사진을 저장하고 Python3.x를 사용하여 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!