mysql处理存储二进制图片
程序员文章站
2022-07-05 12:17:53
...
关键字:mysql;图片数据导入表
参考url:http://xiaolin0199.iteye.com/blog/585519
- import MySQLdb
- class BlobDataTestor:
- def __init__ ( self ):
- self .conn = MySQLdb.connect(host= 'localhost' ,user= '<your user>' ,passwd= '<your pw>' ,db= '0' )
- def __del__ ( self ):
- try :
- self .conn.close()
- except :
- pass
- def closedb( self ):
- self .conn.close()
- def setup( self ):
- cursor = self .conn.cursor()
- cursor.execute( """
- CREATE TABLE IF NOT EXISTS `Dem_Picture` (
- `ID` int(11) NOT NULL auto_increment,
- `PicData` mediumblob,
- PRIMARY KEY (`ID`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
- """ )
- def teardown( self ):
- cursor = self .conn.cursor()
- try :
- cursor.execute( "Drop Table Dem_Picture" )
- except :
- pass
- # self.conn.commit()
- def testRWBlobData( self ):
- # 读取源图片数据
- f = open( "C:\\11.jpg" , "rb" )
- b = f.read()
- f.close()
- # 将图片数据写入表
- cursor = self .conn.cursor()
- cursor.execute( "INSERT INTO Dem_Picture (PicData) VALUES (%s)" , (MySQLdb.Binary(b)))
- # self.conn.commit()
- # 读取表内图片数据,并写入硬盘文件
- cursor.execute( "SELECT PicData FROM Dem_Picture ORDER BY ID DESC limit 1" )
- d = cursor.fetchone()[0 ]
- cursor.close()
- f = open( "C:\\22.jpg" , "wb" )
- f.write(d)
- f.close()
- if __name__ == "__main__" :
- test = BlobDataTestor()
- try :
- test.setup()
- test.testRWBlobData()
- test.teardown()
- finally :
- test.closedb()
推荐阅读
-
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
-
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
-
Python如何向SQLServer存储二进制图片
-
mysql存储过程之错误处理实例详解
-
php 从数据库提取二进制图片的处理代码
-
php下将图片以二进制存入mysql数据库中并显示的实现代码
-
使用动态SQL处理table_name作为输入参数的存储过程(MySQL)
-
MySQL存储文本和图片的方法
-
图片上传存储数据库的2种方法讲解(Mysql)
-
JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】