`

mysql处理存储二进制图片

阅读更多

关键字:mysql;图片数据导入表

参考url:http://xiaolin0199.iteye.com/blog/585519

  1. import  MySQLdb  
  2.   
  3. class  BlobDataTestor:  
  4.     def  __init__ ( self ):  
  5.         self .conn = MySQLdb.connect(host= 'localhost' ,user= '<your user>' ,passwd= '<your pw>' ,db= '0' )  
  6.   
  7.     def  __del__ ( self ):  
  8.         try :  
  9.             self .conn.close()  
  10.         except  :  
  11.             pass    
  12.   
  13.   
  14.     def  closedb( self ):  
  15.         self .conn.close()  
  16.   
  17.     def  setup( self ):  
  18.         cursor = self .conn.cursor()  
  19.         cursor.execute( """  
  20.             CREATE TABLE IF NOT EXISTS `Dem_Picture` (  
  21.             `ID` int(11) NOT NULL auto_increment,  
  22.             `PicData` mediumblob,  
  23.             PRIMARY KEY (`ID`)  
  24.             ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;  
  25.             """ )  
  26.   
  27.   
  28.   
  29.     def  teardown( self ):  
  30.         cursor = self .conn.cursor()  
  31.         try :  
  32.             cursor.execute( "Drop Table Dem_Picture"  )  
  33.         except :  
  34.             pass    
  35.         # self.conn.commit()    
  36.   
  37.     def  testRWBlobData( self ):   
  38.     # 读取源图片数据                  
  39.         f = open( "C:\\11.jpg"  ,  "rb"  )  
  40.         b = f.read()  
  41.         f.close()  
  42.   
  43.     # 将图片数据写入表    
  44.         cursor = self .conn.cursor()  
  45.         cursor.execute( "INSERT INTO Dem_Picture (PicData) VALUES (%s)"  , (MySQLdb.Binary(b)))  
  46.     # self.conn.commit()    
  47.   
  48.     # 读取表内图片数据,并写入硬盘文件    
  49.         cursor.execute( "SELECT PicData FROM Dem_Picture ORDER BY ID DESC limit 1"  )  
  50.         d = cursor.fetchone()[0 ]  
  51.         cursor.close()  
  52.   
  53.         f = open( "C:\\22.jpg"  ,  "wb"  )  
  54.         f.write(d)  
  55.         f.close()  
  56.   
  57.   
  58. if  __name__ ==  "__main__" :  
  59.   
  60.     test = BlobDataTestor()  
  61.   
  62.     try :  
  63.         test.setup()  
  64.         test.testRWBlobData()  
  65.         test.teardown()  
  66.     finally :  
  67.         test.closedb() 
分享到:
评论

相关推荐

    查询mysql数据库中的二进制图片数据,并全部显示出来

    这就是如何在MySQL数据库中存储和查询二进制图片数据,并通过JSP进行显示的基本步骤。在实际应用中,还需要考虑错误处理、安全性(如SQL注入防护)以及性能优化等细节。此外,为了提高用户体验,通常会将图片数据...

    C#+Mysql将图片批量转为2进制并存入数据库中

    本项目“C#+Mysql将图片批量转为2进制并存入数据库中”就是这样一个解决方案,它利用C#编程语言和MySQL数据库系统,实现了将图片批量转化为二进制数据并存储到数据库的功能。 首先,我们要理解C#在这过程中的作用。...

    MySQL.rar_MYSQL_linux mysql_mysql二进制_mysql存储文件

    在“MySQL.rar_MYSQL_linux mysql_mysql二进制_mysql存储文件”这个压缩包中,我们主要关注的是如何在MySQL中存储二进制文件以及在Linux环境下操作MySQL的相关知识。 首先,MySQL支持多种数据类型,其中BLOB...

    C# ##从数据库中取二进制图片文件存入硬盘.rar

    这个场景中,"C# 从数据库中取二进制图片文件存入硬盘"的主题涉及到如何使用C#编程语言从数据库中检索这些二进制数据,并将它们写入到本地硬盘作为图片文件。下面我们将详细探讨这一过程涉及的关键知识点。 首先,...

    如何向MYSQL中写入二进制文件

    首先,我们需要了解MYSQL存储大容量的二进制文件的格式是BLOB(Binary Large OBject),它可以存储大量的二进制数据,包括图片、音频、视频等。除了图片以外,BLOB还可以存储其他类型的二进制文件。 在将二进制文件...

    将图片二进制流存储到数据库中

    在IT领域,将图片以二进制流的形式存储到数据库是一种常见的数据管理策略,尤其适用于处理大量的图像数据。下面我们将详细探讨这个主题。 首先,理解“二进制流”是关键。任何数字媒体,包括图片,都可以表示为一串...

    图片存储到数据库保存二进制文件,并在DATAGRIDVIEW中显示出来

    在C#编程中,将图片存储到数据库并以二进制数据的形式保存,以及在DataGridView控件中显示这些图片,是一项常见的任务。这种操作在处理大量图像数据时尤其有用,例如在开发一个需要展示产品图片的电子商务应用或者...

    mysql 二进制转换工具

    在MySQL中,二进制格式通常用于存储和处理原始数据,如图像、音频或自定义文件,因为这些数据通常无法用文本格式表示。下面将详细介绍这个主题的几个关键知识点: 1. **二进制数据类型**: MySQL提供了多种二进制...

    从数据库中读取二进制图片

    以Java为例,使用JDBC读取MySQL数据库中的二进制图片: ```java import java.sql.*; public class ImageRetriever { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydb...

    MySQL存取大文本及二进制文件(图片)

    综上所述,MySQL提供了存储大文本和二进制文件的能力,而Java的`BufferedInputStream`和`BufferedOutputStream`则是处理文件流、提高I/O效率的重要工具。正确理解和使用这些技术和数据类型,可以有效地管理和处理大...

    mysql 二进制安装包

    MySQL二进制安装包是一种非源码编译的安装方式,它通常包含了预编译的二进制可执行文件,适合快速部署和配置MySQL数据库服务器。在Linux环境下,这种安装方式尤其常见,因为Linux发行版之间的库差异可能导致源码编译...

    mysql二进制包

    MySQL二进制包是专为LINUX系统设计的数据库管理系统安装包,主要包含了一系列预编译的二进制文件,使得在Linux环境下安装和配置MySQL变得更加便捷。在本压缩包中,我们关注的是mysql-5.5.56-linux-glibc2.5-x86_64这...

    通过二进制数据流的方式,读写图片,把图片存入数据库

    在将图片存入数据库前,需要选择一个适合存储二进制数据的数据库字段类型,如MySQL的BLOB(Binary Large Object)。以下是在SQL Server中存储图片的示例: ```sql INSERT INTO Images (ImageData) VALUES (@binary...

    数据库读取二进制图片显示

    总之,数据库读取和显示二进制图片是一个涉及多方面技术的问题,包括数据库设计、数据读写、图片处理和Web应用开发。理解这个过程有助于提升你在开发中的综合能力。通过实践和学习,你可以更好地掌握这些技能,为你...

    图片存取(二进制)

    在IT领域,图片存取(二进制)是一种常见的数据处理技术,特别是在数据库管理和网络传输中。这种技术涉及将图片转换为二进制格式,以便更有效地存储和检索。下面我们将详细探讨这个主题。 首先,我们需要理解二进制...

    二进制图片的读写

    在IT领域,二进制图片的读写是计算机科学中一个基本的概念,特别是在处理图像数据、存储和检索图像信息时。这里的"二进制图片"指的是以二进制格式存储的图像文件,如JPEG、PNG或BMP等,这些格式的图片由一系列的0和1...

    用C#写的二进制图片在数据库中存储

    综上所述,"用C#写的二进制图片在数据库中存储"是一个涉及二进制数据处理、数据库操作以及图像显示的综合实践,涵盖了C#编程、数据库管理和图像处理等多个IT领域的重要知识点。通过理解并掌握这些知识,开发者可以...

    二进制图片上传到数据库

    总结起来,二进制图片上传涉及的关键技术点包括图片二进制转换、数据库操作(特别是二进制数据类型的使用)以及数据的恢复与读取。在实际开发中,需要根据项目需求和资源状况选择合适的存储方案。

    centos7二进制安装MySQL5.7.docx

    CentOS 7上二进制安装MySQL 5.7的过程涉及多个步骤,这些步骤确保了数据库服务能够正确、稳定地运行。以下是对整个过程的详细解释: 1. **安装依赖包**: 在安装MySQL之前,需要确保系统中有必要的依赖库。在...

    Oracle,SQL2000,MYSQL存取图片或二进制数据的功能文件

    `MySQLUploader.java`文件可能包含处理MySQL数据库中图片或二进制数据的Java代码,使用JDBC连接,加载MySQL驱动,通过PreparedStatement执行SQL语句将二进制数据存入数据库。读取时,可以使用ResultSet的...

Global site tag (gtag.js) - Google Analytics