Nous construisons d'abord la base de données, puis entrons cmd, entrez ipconfig dans la zone de fonctionnement du système pour afficher les informations IP de la machine
Le principal le truc c'est de connaître l'adresse IP de la machine.
Nous devons d'abord créer une table dans MySQL, définir les champs et saisir le code suivant :
create table image(id int(5)auto_increment primary key,image1 mediumblob)
Ensuite, nous devons ouvrir Python, j'utilise pycharm.
Le package que nous devons utiliser est pymysql
Nous faisons glisser l'image que nous voulons importer dans pycharm, définissons le nom pour une utilisation ultérieure, nous lisons d'abord le fichier image (en utilisant la méthode de lecture binaire, ‘rb’)
f = open('2.jpg','rb') img = f.read() f.close()
Ensuite, nous nous connectons avec mysql :
gao = pymysql.connect( host='157.142.13.27',#本机或其他机器的ip地址 port=3306,#接口 user='root',#用户名 passwd='******',#密码 db='gao',#你所使用的数据库 charset='utf8',#编码方式 use_unicode=True, )
Créez un curseur et utilisez la fonction curseur :
g = gao.cursor()
Lire les informations sur l'image
f = open('2.jpg','rb')data = f.read()
Utilisez la fonction d'exécution pour modifier la base de données :
g.execute('insert into image(image1) values (%s)'%data)
Remarque : s'il montre toujours que vous ne le faites pas Si nous avons l'autorisation de nous connecter à la base de données, nous nous connectons d'abord à la base de données et entrons dans votre base de données mysql, puis changeons d'hôte :
update user set host = '%' where user = 'root';mysql>flush rivileges
Notez que le curseur et la connexion doivent être fermés à la fin.
Après l'écriture, nous pouvons vérifier le contenu de la table que nous avons définie dans la base de données, mais en raison de la méthode de décodage, ce que nous voyons est un tas de caractères tronqués. Nous pouvons afficher l'image dans 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! ")
La table de base de données vbp_person_ext contient trois champs : person_id, image, img_type (l'image est une information sur l'image)
Erreur :
UnicodeEncodeError : 'latin- 1 'le codec ne peut pas encoder les caractères en position 303-304 : ordinal hors plage (256)
Solution : ajoutez charset='utf8
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!