MySQLdb操作mysql的blob值

一般情况下我们是把图片存储在文件系统中,而只在数据库中存储文件路径的,但是有时候也会有特殊的需求:把图片二进制存入数据库。

今天我们采用的是python+mysql的方式

MYSQL 是支持把图片存入数据库的,也相应的有一个专门的字段 BLOB (Binary Large Object),即较大的二进制对象

还有个更大的存二进制的LONGBLOB;

这里需要注意:尽量把字段设置大一些,因为如果设置的字段长度过小,就会出现图片只显示一部分的情况。第二:如果数据量大的话尽量避免使用这种方式进行,因为mysql对于大数据的查询速度会很慢。

下面上代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#!/usr/bin/python

#-*- coding: UTF-8 -*-

 

import MySQLdb as mysql

import sys

try:

    #读取图片文件

    fp = open("./test.jpg")

    img = fp.read()

    fp.close()

except IOError,e:

    print "Error %d %s" % (e.args[0],e.args[1])

    sys.exit(1)

try:

    #mysql连接

    conn = mysql.connect(host=‘localhost‘,user=‘root‘,passwd=‘123456‘,db=‘test‘)

    cursor = conn.cursor()

    #注意使用Binary()函数来指定存储的是二进制

    cursor.execute("INSERT INTO images SET data=‘%s‘" % mysql.Binary(img))

    #如果数据库没有设置自动提交,这里要提交一下

    conn.commit()

    cursor.close()

    #关闭数据库连接

    conn.close()

except mysql.Error,e:

    print "Error %d %s" % (e.args[0],e.args[1])

    sys.exit(1)

时间: 2024-08-25 03:46:53

MySQLdb操作mysql的blob值的相关文章

mysql.connector操作mysql的blob值

This tutorial shows you how to work with MySQL BLOB data in Python, with examples of updating and reading BLOB data. The  authors table has a column named  photo whose data type is BLOB. We will read data from a picture file and update to the photo c

PHP操作Mysql中间BLOB场

1.MySQL在BLOB字段类型 BLOB场的类型用于存储二进制数据. MySQL在.BLOB它是一种类型的一系列.含有:TinyBlob.Blob.MediumBlob.LongBlob.大小上不同. MySQL的四种BLOB类型 TinyBlob:  最大 255字节 Blob:      最大 65K MediumBlob:最大 16M LongBlob:  最大 4G 注意:假设你存储的文件过大.数据库的性能会下降非常多. 2.PHP操作BLOB案例 [1]操作新闻内容 <? php m

python简单操作mysql

引: 要想使用python操作mysql需要安装mysql-python插件,可以到mysql官网http://dev.mysql.com/downloads/connector/python/进行下载 我所使用的版本为MySQL-python-1.2.5.win32-py2.7,代表只支持使用python2.7. 相关的mysql操作请参考mysql 基本操作 下面为进行mysql增.删.改.查等相应操作: 查: #!/usr/bin/env python # --*-- coding:utf

python 之路12 RabbitMQ Python 操作mysql

1. RabbitMQ简介 rabbitmq服务类似于mysql.apache服务,只是提供的功能不一样.rabbimq是用来提供发送消息的服务,可以用在不同的应用程序之间进行通信. 2.安装RabbitMQ Ubuntu 14.04 sudo apt-get install rabbitmq-server 安装好后,rabbitmq服务就已经启动好了.接下来看下python编写Hello World!的实例.实例的内容就是从send.py发送“Hello World!”到rabbitmq,re

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

简单封装MySQLdb模块操作MySQL数据库

python连接mysql的connector有很多,我们选择MySQLdb 让python支持MySQLdb模块 #pip2.7 install MySQL-python 查看python2.7可使用的模块是否存在MySQLdb # ipython WARNING: IPython History requires SQLite, your history will not be saved Python 2.7.11 (default, Mar 10 2016, 09:45:30)  Typ

Python MySQLdb模块连接操作mysql数据库实例_python

mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/有下载和文档. 由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码: #-*- encoding: gb2312 -*- import os, sys, string impo

PHP操作Mysql中的BLOB字段

1.MySQL中BLOB字段类型 BLOB类型的字段用于存储二进制数据. MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型 TinyBlob:  最大 255字节 Blob:      最大 65K MediumBlob:最大 16M LongBlob:  最大 4G 注意:如果你存储的文件过大,数据库的性能会下降很多. 2.PHP操作BLOB案例 [

Python操作Mysql实例代码教程在线版(查询手册)_python

实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con = None try:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('