Python操作MySQL如何从数据库中把图片读出来

Python操作MySQL如何从数据库中把图片读出来

MySQL是一种流行的开源关系型数据库管理系统,最初由瑞典MySQL AB公司开发。Python是一种高级编程语言,常用于数据分析和Web开发。在Python中,我们可以使用MySQL Connector/Python来连接MySQL数据库并执行各种操作,包括读取和写入二进制数据,如图像。

1. 连接到MySQL数据库

要使用Python操作MySQL数据库,首先需要安装MySQL Connector/Python包。可以使用pip命令在命令行中安装:

pip install mysql-connector-python

连接到MySQL数据库的代码如下:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

print(mydb)

确保将yourusernameyourpasswordmydatabase替换为MySQL数据库的正确凭据和名称。

2. 向MySQL数据库插入图像

要将图像插入MySQL数据库,需要将图像读入Python并将其转换为二进制数据。下面是将图像插入MySQL数据库的代码:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO images (id, data) VALUES (%s, %s)"
val = (1, open("image.webp", "rb").read())
mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

这里我们将一张名为image.webp的图像插入了名为images的表格中。这将创建一个名为data的新列,其中二进制数据将储存为BLOB(二进制大型对象)类型。

3. 从MySQL数据库中读取图像

要从MySQL数据库中读取图像,我们可以使用SELECT语句。下面的代码演示了如何从名为images的表格中读取一张图像:

import mysql.connector
from PIL import Image
from io import BytesIO

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT data FROM images WHERE id = 1"
mycursor.execute(sql)

myresult = mycursor.fetchone()

img = Image.open(BytesIO(myresult[0]))
img.show()

这里,我们使用Python Imaging Library(PIL)打开确保从数据库中读取的二进制数据是图像。最后一行代码将打开图像以供查看。

4. 结论

本文介绍了如何使用Python和MySQL Connector/Python从MySQL数据库中读取和写入图像。连接到MySQL数据库、插入图像、从MySQL数据库中读取图像所需的步骤都十分简单。尝试使用这些代码,扩展自己的数据库知识。

晓白博客网版权所有,原文地址https://www.xbnb.cn/6347
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 如有资源失效请在下面及时反馈,谢谢!! 抢沙发

请登录后发表评论

    请登录后查看评论内容