我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python程序实现向MySQL存放图片

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python程序实现向MySQL存放图片

环境

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='<host name>',user='<user name>',passwd='<password>',db='<database name>',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')

测试结果

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python程序实现向MySQL存放图片

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python程序实现向MySQL存放图片

这篇文章主要介绍了Python程序实现向MySQL存放图片,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-14

IOS 图片存放3种方式的实现

Image.xcassets创建 .xcassets,以 Image Set 形式管理图片,添加图片后会生成对应的 content.json 文件加入 @2x 和 @3x 等倍图后,打包后以 Assets.car 的形式存在,使用 [UII
2022-06-03

基于Python实现图片九宫格切图程序

这篇文章主要为大家详细介绍了如何利用python和C++代码实现图片九宫格切图程序,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
2023-05-15

redis怎么实现图片流式播放缓存

要实现图片流式播放缓存,可以使用Redis的List数据结构和Bitmap操作。首先,将图片URL按照顺序加入到Redis的List中,即将每个图片URL元素存储在List中。可以使用LPUSH命令将图片URL添加到List的头部。然后,使
2023-09-04

微信小程序如何实现图片双滑缩放大小

这篇文章主要介绍了微信小程序如何实现图片双滑缩放大小 ,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在做小程序开发的过程中,后端传来一张图片地图,需要实现双手指滑动,使图片缩
2023-06-26

实现微信小程序中的图片放大缩小效果

实现微信小程序中的图片放大缩小效果,需要具体代码示例在微信小程序中实现图片的放大缩小效果是一个常见需求,可以通过使用WXSS样式和WXSS样式来实现。下面将介绍具体的代码示例。1.在wxml文件中编写图片和相关的按钮组件:
实现微信小程序中的图片放大缩小效果
2023-11-21

小程序如何实现图片宽度高度等比例缩放

这篇文章主要介绍了小程序如何实现图片宽度高度等比例缩放,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  开发小程序初期,很多时候,图片的显示效果,不是拉长式,就是又扁又宽,在
2023-06-26

编程热搜

目录