您的位置:首页 > 数据库 > MySQL

图片以二进制存入MYSQL

2017-07-21 20:59 267 查看
MYSQL 支持把图片存入数据库,也相应的有一个专门的字段 BLOB (Binary Large Object)

首先要在你的mysql数据库中创建一个表,用于存储图片

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);

然后用python代码将本地的图片存到数据库中
# coding=utf-8

import MySQLdb
import sys

try:
fin = open("/home/dsq/tb/8.jpg") #打开本地图片,路径要写自己的
img = fin.read()
fin.close() #读取结束,关闭文件
except IOError as e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1) #出现错误打印错误并退出

try:
conn = MySQLdb.connect(host="localhost", port=3306, user="root", passwd="#你的数据库密码#", db="数据库名") #连接到数据库

cursor = conn.cursor() #获取cursor游标
cursor.execute("INSERT INTO Images SET Data='%s'" % MySQLdb.escape_string(img)) #执行SQL语句

conn.commit() #提交数据
cursor.close()
conn.close() #断开连接
except MySQLdb.Error,e:
conn.rollback()
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1) #出现错误,自动回滚,打印错误并退出


发现图片成功存储到数据库中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: