怎么用Python程序实现向MySQL存放图片
作者:远山有雾青石小巷
时间:2023-04-25
浏览:0
环境Python3.7.4pymysql8.0.11MySQLCommunityServer读取图片以二进制格式读取图片withopen("./test.jpg","rb")asfile:image=file.read()创建存放图片的表存放图片字段的属性为longblog,即longbinarylargeobjectdefcreate_image_table(self):sql='createtableifnotexistspicture(\imagelongblob);'try:sel
环境
Python 3.7.4 pymysql 8.0.11 MySQL Community Server
读取图片
以二进制格式读取图片
with open("./test.jpg", "rb") as file:
image = file.read()创建存放图片的表
存放图片字段的属性为longblog,即long binary large object
def create_image_table(self): sql = 'create table if not exists picture ( \ image longblob);' try: self.cursor.execute(sql) self.connection.commit() except pymysql.Error: print(pymysql.Error)
存入MySQL
将二进制格式的图片数据存入MySQL
def insert_image(self, image): sql = "insert into picture(image) values(%s)" self.cursor.execute(sql, image) self.connection.commit()
保存MySQL查询得到的图片数据为图片
以二进制的格式写出图片
def get_image(self, path): sql = 'select * from picture' try: self.cursor.execute(sql) image = self.cursor.fetchone()[0] with open(path, "wb") as file: file.write(image) except pymysql.Error: print(pymysql.Error) except IOError: print(IOError)
实现代码
import pymysql class Database(): ''' Description: database demo to store image in MySQL RDBMS Attributes: None ''' def __init__(self): self.connection = pymysql.connect(host='',user=' ',passwd=' ',db=' ',charset='utf8') self.cursor = self.connection.cursor() ''' Description: create table to store images Args: None Return: None ''' def create_image_table(self): sql = 'create table if not exists picture ( \ image longblob);' try: self.cursor.execute(sql) self.connection.commit() except pymysql.Error: print(pymysql.Error) ''' Description: insert image into table Args: image: image to store Returns: None ''' def insert_image(self, image): sql = "insert into picture(image) values(%s)" self.cursor.execute(sql, image) self.connection.commit() ''' Description: get image from database Args: path: path to save image Returns: None ''' def get_image(self, path): sql = 'select * from picture' try: self.cursor.execute(sql) image = self.cursor.fetchone()[0] with open(path, "wb") as file: file.write(image) except pymysql.Error: print(pymysql.Error) except IOError: print(IOError) ''' Description: destruction method Args: None Returns: None ''' def __del__(self): self.connection.close() self.cursor.close() if __name__ == "__main__": database = Database() # read image from current directory with open("./test.jpg", "rb") as file: image = file.read() database.create_image_table() database.insert_image(image) database.get_image('./result.jpg')
测试结果

作者最新文章
iphone电池不耐用怎么修复?实用方法教程
2026-09-22 15:16
2026年车市新势力崛起:新车型精准发力 单月销量突破两万大关
2026-08-25 15:36
黄渤亮相重庆赛力斯工厂 共庆全新一代问界M9全国首批用户交付盛典
2026-08-25 15:35
iPhone14Pro怎么关闭待机显示 iPhone14Pro关闭待机显示教程
2026-08-25 14:21
荣耀 X80 Pro Max 手机获 SGS 五星抗摔认证 并推出免费换屏服务
2026-08-25 11:41
上一篇:
java怎么实现新年祝福
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































