广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 数据库blob数据操
  • 582
分享到

python 数据库blob数据操

数据库数据python 2023-01-31 04:01:11 582人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

#coding=gbk from sqlite3 import dbapi2 # ------------------------------- # jxDataSet 对象 # 用于保存 打开数据表的数据 # -------------

#coding=gbk
from sqlite3 import dbapi2
# -------------------------------
# jxDataSet 对象
# 用于保存 打开数据表的数据
# ------------------------------
class jxDataSet:
    fields = [ ]   # 字段名列表
    data   = [ ]   # 数据表的记录
    sql    = [ ]   # sql 语句
    sERR   = ""    # 打开数据表时的错误信息
                   # 如果为空,表示打开成功
    def __init__ (self ):
        pass
   
    def ok(self):
        return self.sERR==""

    # 一个简单的显示打开结果的函数 disp
    def disp(self):
        if self.sERR!="":
            print("ERROR:",sERR);
            return
        print( "RecordCount=", len(self.data) )
        print( "fields=",self.fields)
        for x in self.data:
            print( x )

# 数据库联接对象
#
class jxconn:
    DB_Name = ""
    def __init__ (self, aDB_name ):
        self.DB_Name = aDB_name

    # 打开 sql 指定的数据表
    # 入口:sql
    # 返回: jxDataSet 对象
    def opensql( self,sql ):
         jxData = jxDataSet()
         jxData.sql = sql
         try:
          conn=dbapi2.connect(self.DB_Name,30)
         except Exception , E:
            jxData.sERR = str(E)
         if jxData.sERR!="":
            return jxData
         try:
            cs  = conn.cursor()
            cs.execute( sql )
            jxData.fields = [ x[0] for x in cs.description ]
            jxData.data = cs.fetchall()
            cs.close()
         except Exception , E:
             jxData.sERR = str(E)
         conn.close()
         del( conn )
         return jxData
    # 执行 sql 语句
    # 入口: sqls
    #        一个字符串列表,每个元素是一条 sql 语句
    #        或者一条 sql 语句
    # 返回:  错误信息
    #        sqls 中所有的 sql语句中,
    #        要么同时执行,要么同时不执行,
    #        已执行部分,如果后面的sql语句出现错误,则一起回滚
    #        
    def runsql( self,sqls ):
          if not (type(sqls) in [ str, list]):
                 return "parameter error"
          if type(sqls)==str:
                 sqls = [ sqls ]
          n = len(sqls)
          if (n<1):
                 return ""
          sERR = ""
          try:
              conn=dbapi2.connect(self.DB_Name, 30)
           #30是超时限制,单位秒,若不指定,是5秒
          except Exception , E:
            return str(E)
          for i in range(0,n):
               try:
                 conn.execute( sqls[i] )
               except Exception , E:
                  sERR = str(E)
                  break
          if sERR=="":
                 conn.commit()
          else:
                 conn.rollback()
          conn.close()
          del(conn)
          return sERR
    # 保存二进制数据到 blob 字段
    # 入口:  sql 语句
    #             如: "INSERT INTO mypic ( pic ) values( :0 )"
    #        parameters
    #             一个数组,其每个元素是一个 bytes 类型的二进制数据
    #            parameters[0] 对应 sql 中的 :0
    #            parameters[1] 对应 sql 中的 :1
    # 返回: 错误信息
    def writeblob( self, sql, parameters ):
        mp = { }
        for i in range( 0, len(parameters) ):
            s = parameters[i]
            if type(s) != bytes :
                s = str(s).encode("gbk")
            try:
                mp[ str(i) ] = dbapi2.Binary( s )
            except Exception , E:
                return str(E)
        try:
         conn=dbapi2.connect(self.DB_Name, 30)
           #30是超时限制,单位秒,若不指定,是5秒
        except Exception , E:
           return str(E)
        sERR =""
        try:
         conn.execute( sql, mp )
                
        except Exception , E:
                 sERR = str(E)
                 
        if sERR=="":
                 conn.commit()
        else:
                 conn.rollback()
        conn.close()
        del(conn)
        return sERR
                
           
                
        


——————file2————————————————

#coding=gbk
from jxconn import *
import sys

# 将二进制数据保存到文件中
# 入口: picFileName, picData
def savePic( picFileName, picData ):
    try:
        f = open( picFileName,"w")
        f.write( picData )
        sERR   = "None"
        f.close()
    except Exception , E:
        sERR = str(E)
        return sERR
  
conn = jxconn("./si_db_isdb_t")
cs = conn.opensql("SELECT * FROM loGopng where Id=141 and Type=0")
if cs.sERR!="":
    print( "read image from db failed:",cs.sERR)
    sys.exit(0)
if len(cs.data)<1:
    print( "no data entry!")
    sys.exit(0)
print("the quried entry number is ",len(cs.data))
for i in range (0,len(cs.data)):
    sERR = savePic( "./%d.png" % i, cs.data[i][4] )
# cs.data[0][1] 是第0条记录的第一个字段的值
if sERR!="None":
    print( "save image to file failed!",sERR)

print( "Done!");


----------------------------------------

python3.0 SQLite3 数据库读写blob字段 - jxconn(续)

Http://hi.baidu.com/jxq61/blog/item/c8644f034804a00a1c95837d.html

字串操作

http://www.pythonclub.org/Python-basic/string

字串格式化

http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/pythonhtml/html/native_data_types/fORMatting_strings.html

 

 

--结束END--

本文标题: python 数据库blob数据操

本文链接: https://www.lsjlt.com/news/187768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 数据库blob数据操
    #coding=gbk from sqlite3 import dbapi2 # ------------------------------- # jxDataSet 对象 # 用于保存 打开数据表的数据 # -------------...
    99+
    2023-01-31
    数据库 数据 python
  • ADF12C 文件上传到数据库BLOB
    ...
    99+
    2022-10-18
  • 数据库中blob类型如何存取
    在数据库中存取blob类型的数据,可以使用以下方法:1. 通过编程语言的API将blob数据写入数据库。大多数编程语言都提供了API...
    99+
    2023-09-21
    数据库
  • python操作数据库
     游标  在stored Routines调用中开的一个缓冲区,用于存放SQL调用的结果集。(结果集是只读的)   意味着我们的查询可以返回一个文档也可以返回一个游标去指向一个结果集,而后通过游标的切换而获取每个结果   Python连接...
    99+
    2023-01-31
    操作 数据库 python
  • python数据库操作--数据库使用概述
    目录1. 数据库基础知识2. 访问数据库基本原理1.应用系统2.数据库驱动程序 3.数据库系统3. ODBC与ADO1.** ODBC**2.ADO4. 关系型数据库总结1. 数据库基础知识 数据库(DB...
    99+
    2022-06-02
    python 数据库使用
  • Python 操作 MySQL 数据库
    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
    99+
    2023-09-01
    adb
  • Python——操作MySQL数据库
    😊Python——操作MySQL数据库 🚀前言🔍数据库编程🍭数据库编程基本介绍🍭数据库编程接口🍭...
    99+
    2023-09-15
    数据库 python mysql
  • Python操作PostgreSQL数据库
    个人简介:一个从会计转行数据分析师的三旬老汉 擅长领域:数据分析、数据仓库、大数据 博客内容:平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家少加班、不掉发,让我们相互学习...
    99+
    2023-10-27
    数据库 postgresql python
  • Python对数据库操作
    Windows下安装MySQL-python 下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。 linux下安装MySQL-py...
    99+
    2022-06-04
    操作 数据库 Python
  • Python 操作 MySQL数据库
    开发环境与配置 win_x64 Ubuntu14.04 Python3.x pip安装pymysql模块 直接使用pip安装 pip install pymysql win64上直接在cmd中执...
    99+
    2022-05-30
    Python 操作 MySQL python MySQL
  • python操作mysql数据库
    一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc students;...
    99+
    2022-06-04
    操作 数据库 python
  • Python的数据库操作
    使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等。其可操作性很强,如可以直接使用“show databases”、“show tables”等语句进行表格之外的部分操作。 Centos7远程操作...
    99+
    2023-01-31
    操作 数据库 Python
  • Python操作redis数据库
    前言:这两天的事情不多,为了避免之前学习的一点点Python知识遗忘,我在Github上找了一些小项目跟着实践。之前的工作有写过相关的Python处理redis处理数据的脚本,但之前没有养成记录积累的习惯,所以~~~~(遗忘了),所以趁此...
    99+
    2023-01-31
    操作 数据库 Python
  • python 操作MySQL数据库
    1.connect def conn(ip,user,password,database): con = mdb.connect(ip,user,password,database) cur = con.cursor() ...
    99+
    2023-01-31
    操作 数据库 python
  • python操作sybase数据库
    python 对于数据库的使用如下 # 打开数据库连接 #dbName指的是具体数据库的名称,例如mysql 的一个模块为mysqldb db = dbName.connect("localhost","testuser","test1...
    99+
    2023-01-31
    操作 数据库 python
  • JDBC第三部分—blob类型的数据以及数据库事务
    原文:https://www.cnblogs.com/summerHou/p/14646021.html...
    99+
    2020-02-27
    JDBC第三部分—blob类型的数据以及数据库事务 数据库入门 数据库基础教程
  • Python操作数据库之数据库编程接口
    目录一、前言二、连接对象1.获取连接对象2.连接对象的方法三、游标对象一、前言 在项目开发中,数据库应用必不可少。虽然数据库的种类有很多,如SQLite、MySQL、Oracle等,...
    99+
    2022-11-11
  • 使用Python操作MySql数据库和MsSql数据库
    目录一、MySQL数据库模块的安装和连接1、 PyMySQL模块的安装2 、python连接数据库二、创建表操作三、操作数据1、插入操作2、 查询操作3、 更新操作4、 删除操作四、...
    99+
    2022-11-11
  • php如何将数据库的blob字段转file
    本篇内容主要讲解“php如何将数据库的blob字段转file”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何将数据库的blob字段转file”吧!一、读取BLOB数据使用PHP的PDO扩...
    99+
    2023-07-05
  • python 操作mysql 数据库 安
    win10 系统 64 位 python 需要连接Mysql 数据库 、使用pip 安装 mysql-python ,安装一直报错。找不到包依赖之类的、于是下载 直接 下载 mysql-python windows 下面的.exe 安装程序...
    99+
    2023-01-31
    操作 数据库 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作