import pymysql

class MysqlHelper(object):
conn = None def __init__(self, host, username, password, db, charset='utf8', port=3306):
self.host = host
self.username = username
self.password = password
self.db = db
self.charset = charset
self.port = port def connect(self):
self.conn = pymysql.connect(host=self.host, port=self.port, user=self.username, password=self.password, db=self.db,
charset=self.charset)
self.cursor = self.conn.cursor() def close(self):
self.cursor.close()
self.conn.close() def get_one(self, sql, params=()):
result = None
try:
self.connect()
self.cursor.execute(sql, params)
result = self.cursor.fetchone()
self.close()
except Exception as e:
print(e)
return result def get_all(self, sql, params=()):
list_data = ()
try:
self.connect()
self.cursor.execute(sql, params)
list_data = self.cursor.fetchall()
self.close()
except Exception as e:
print(e)
return list_data def insert(self, sql, params=()):
return self.__edit(sql, params) def update(self, sql, params=()):
return self.__edit(sql, params) def delete(self, sql, params=()):
return self.__edit(sql, params) def __edit(self, sql, params):
count = 0
try:
self.connect()
count = self.cursor.execute(sql, params)
self.conn.commit()
self.close()
except Exception as e:
print(e)
return count
def du(self,aa):#打开图片读入内存给变量
fp = open(aa, 'rb')
try:
img = fp.read()
except:
print("图片打开出错")
fp.close()
return img
def bu(self,aa,bname,id):#从数据表bname中读取对应ID图片并保存为文件名为aa
sql=f"select tu from {bname} where id={id}"
fp = open(aa, 'wb')
try:
self.connect()
self.cursor.execute(sql)
self.conn.commit()
fp.write(self.cursor.fetchone()[0])
self.close()
except:
print("图片读写出错") #aa=MysqlHelper("db4free.net","myabcd","******","数据库名称")
aa=MysqlHelper("localhost","root","**********","testa")
sql="select sjh from sjh limit 10"
sql1="select sjh from sjh where sjh='13000290804'"
sql2="delete from sjh where sjh='13000290804'"
sql3="select table_name from information_schema.tables where table_schema='mys'"
sql4="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mys'"
sql5="select table_name,column_name,column_comment from information_schema.columns where table_schema ='mys' and table_name ='sjh'"
#显示指定数据库指定表的字段名称
sql6="desc sjh"
images=aa.du("222.jpg")
sql7=f"insert into xsxx6 (xm,tu) values ('张三',%s);"
sql8=f"update xsxx6 set xm='李四',tu =%s where id=1;"
args=(images)
#显示指定的详细结构(字段名称 类型 长度)
#aa.insert(sql8,args)#利用插入将图片存入表中
#aa.update(sql)#利用更新的方法将图片存入表中 aa.bu('1234.jpg','xsxx',5)

python mysql 类 图片保存到表中,从表中读图片形成图片文件的更多相关文章

  1. python mysql类

    import pymysql class MysqlHelper(object): conn = None def __init__(self, host, username, password, d ...

  2. Python虚拟机类机制之绑定方法和非绑定方法(七)

    Bound Method和Unbound Method 在Python中,当对作为属性的函数进行引用时,会有两种形式,一种称为Bound Method,这种形式是通过类的实例对象进行属性引用,而另一种 ...

  3. Python MySQL Join

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  4. php 获取远程图片保存到本地

    php 获取远程图片保存到本地 使用两个函数 1.获取远程文件 2.把图片保存到本地 /** * 获取远程图片并把它保存到本地 * $url 是远程图片的完整URL地址,不能为空. */ functi ...

  5. Gson字符串编码,字符串转换成图片保存,二进制转换成图片保存

    import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.File; import ...

  6. Python的Django框架中forms表单类的使用方法详解

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  7. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。

    题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...

  8. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  9. eclipse怎么连接到MySQL中的表!!!!!

    简介: 用eclipse编写的好的代码,我们怎么才能连接到数据库呢?对于初学者,特别是在连接数据库这块经常会发生一些莫名的错误,一般来说,归根是我们连接数据库这一过程发生错误.那么我们如何来解决呢?那 ...

随机推荐

  1. Docker Context基本原理

    Docker Context基本原理 介绍 本指南介绍了上下文如何使单个Docker CLI轻松管理多个Swarm集群.多个Kubernetes集群和多个单独的Docker节点. 单个Docker C ...

  2. 我的第一部原创《JavaScript 全栈开发》正式上市了!

    在经过了漫长的创作.审校过程之后,<JavaScript 全栈开发>终于迎来了在各大平台上正式出版的日子,以下是这本书的基本信息: 出品方: 异步社区:https://www.epubit ...

  3. P1831 杠杆数(数位Dp)

    题目描述 如果把一个数的某一位当成支点,且左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,那么这个数就可以被叫成杠杆数. 比如$4139$就是杠杆数,把3当成支点,我们有这样的等式:$4 \ ...

  4. CSS3-过渡、动画、2D与3D

    过渡 过渡属性transition,可适用于大部分属性间变化的过渡,例如长度的.宽度和透明度等等. 语法: transition: property duration timing-function ...

  5. PAT甲级 1093 Count PAT‘s (25 分) 状态机解法

    题目 原题链接 The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the ...

  6. 重磅!GitHub官方开源新命令行工具

    近日,GitHub 发布命令列工具 (Beta) 测试版,官方表示,GitHub CLI提供了一种更简单.更无缝的方法来使用Github.这个命令行工具叫做GitHub CLI,别名gh. 现在,你就 ...

  7. 手把手使用Python语音识别,进行语音转文字

    0. 太长不看系列,直接使用 在1.2官网注册后拿到APISecret和APIKey,直接复制文章2.4demo代码,确定音频为wav格式,采样率为16K,在命令行执行 python single_s ...

  8. Linux 常用命令 随口说

    ls cd pwd du disk usage -h -s. 文件大小 df disk free -h 磁盘占用 fdisk mount top/htop + ps + grep + wc + pki ...

  9. 滑动窗口经典题 leetcode 3. 无重复字符的最长子串

    题目 解题思路 题目要求找出给定字符串中不含有重复字符的最长子串的长度.这是一个典型的滑动窗口的题目,可以通过滑动窗口去解答. 滑动窗口 具体操作如下图示:找到一个子串 s[left...right] ...

  10. IPVS的ICMP报文处理-由内到外

    这里主要明与NAT/Masq转发模式相关的ICMP报文处理,但也会提及由于出错引发的IPVS系统主动发送的ICMP报文. 1.ICMP由外到内处理流程入口 入口函数ip_vs_in实质上挂载在netf ...