Python实现将图片导入MySQL数据库

# 今天需要用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(image是图片信息)

【过程中遇到问题】
报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 303-304: ordinal not in range(256)
解决:增加 charset='utf8


database = pymysql.connect(host="10.31.143.6", user="root", passwd="******", db="aaa"charset='utf8')

参考文档:https://blog.csdn.net/pandarawen/article/details/8339414

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值