最近使用pymysql写脚本的情况越来越多了,刚好整理,简单封装一个pymysql的操作类

import pymysql

class MysqlDB:

    def __init__(
self,
host=None,
port=None,
db=None,
account=None,
password=None,
connect_timeout=20,
read_timeout=20,
write_timeout=20
):
self.conn = pymysql.connect(
host=self.host,
port=self.port,
db=self.db,
user=self.account,
passwd=self.password,
connect_timeout=self.connect_timeout,
read_timeout=self.read_timeout,
write_timeout=self.write_timeout
) def fetch(self, table_name=None, fields=(), where=None, many=False):
cur = self.conn.cursor() if where:
sql = f'select {",".join(fields)} from {table_name} where {where}'
else:
sql = f'select {",".join(fields)} from {table_name}'
cur.execute(sql)
if many:
data = cur.fetchmany()
else:
data = cur.fetchone()
cur.close()
return data def update(self, table_name=None, field=None, value=None, where=None):
cur = self.conn.cursor()
sql = f'update {table_name} set {field} = {value}'
if where:
sql += f'where {where}'
cur.execute(sql)
self.conn.commit()
cur.close() def insert(self, table_name=None, single=True, data_list: list = []):
cur = self.conn.cursor()
for data in data_list:
sql = f'insert into {table_name}({",".join([key for key in data.keys()])}) values({",".join(["%s" for _ in range(len(data.keys()))])})'
cur.execute(sql, data)
self.conn.commit()
cur.close() def quit(self):
self.conn.close()

封装一个python的pymysql操作类的更多相关文章

  1. 如何用C++封装一个简单的数据流操作类(附源码),从而用于网络上的数据传输和解析?

    历史溯源 由于历史原因,我们目前看到的大部分的网络协议都是基于ASCII码这种纯文本方式,也就是基于字符串的命令行方式,比如HTTP.FTP.POP3.SMTP.Telnet等.早期操作系统UNIX( ...

  2. 用python 将 pymysql操作封装成类

    觉得代码啰嗦的可以把logging日志删掉,但是工程中时刻要记得写日志 import pymysql import logging import sys # 加入日志 #获取logger实例 logg ...

  3. 基于AFNetWorking封装一个网络请求数据的类

    1.新建一个继承于NSObject类的类,在.h文件中 #import "AFHTTPRequestOperationManager.h" //定义两个block来接收请求成功和失 ...

  4. 通过一个简单的数据库操作类了解PHP链式操作的实现

    class Model{ public $table; //操作的表; private $opt; //查询的参数; private $pri; //表的主键; private $lastSql; / ...

  5. Python使用PyMysql操作数据库

    安装 pip install -U pymysql 连接数据库 连接数据库有两种不同的格式 直接使用参数 代码如下 import pymysql.cursors connection = pymysq ...

  6. python使用pymysql操作mysql数据库

    1.安装pymysql pip install pymysql 2.数据库查询示例 import pymysql # 连接database conn =pymysql.connect(user=' , ...

  7. 封装一个统一返回json结果类JsonResult

    import java.io.Serializable; public class JsonResult implements Serializable{ private static final l ...

  8. Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)

    上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...

  9. windows系统操作类和演示程序(关机,关闭显示器,打开屏幕保护程序,打开光驱等)

    /// <summary> /// 系统控制类,关机,关闭显示器,打开屏幕保存程序等 /// </summary> public class SystemPowerContro ...

  10. oracle常见为题汇总,以及一个简单数据连接操作工厂

    本人软件环境:win8.1 64位操作系统,vs2013,安装好了与oracle数据库对应的客户端         连接oracle数据库.以及操作数据库 1.使用IIS建立网站,浏览网页时候,提示“ ...

随机推荐

  1. DateSet的应用

    一.知识描述 1.什么是DataSet? DataSet为一个数据集,可以看做是一个内存中的数据库,包括表.数据行.数据列以及表与表之间的关系. 创建一个DataSet后,它可以单独存在,不需要一直保 ...

  2. 使用docker-compose安装Prometheus

    Prometheus监控 一. 总览 主要组件: Prometheus server: 用于收集和存储时间序列数据 exporter: 客户端生成监控指标 Alertmanager: 处理警报 Gra ...

  3. 强制更改windows电脑密码

    强制更改windows电脑密码 1.重启电脑,连续按F8,在出现的高级选项中 2.选择administrator用户,打开管理员命令窗口 3.输入命令 etuserAA123456/add 密码就会被 ...

  4. Annocation(注解)的使用示例

    示例一:生成文档相关的注解示例二:在编译时进行格式检查(JDK内置的三个基本注解)@Override: 限定重写父类方法, 该注解只能用于方法@Deprecated: 用于表示所修饰的元素(类, 方法 ...

  5. Java模拟生产者-消费者问题。生产者不断的往仓库中存放产品,消费者从仓库中消费产品。其中生产者和消费者都可以有若干个。在这里,生产者是一个线程,消费者是一个线程。仓库容量有限,只有库满时生产者不能存

    需求分析:生产者生产产品,存放在仓库里,消费者从仓库里消费产品. 程序分析: 1.生产者仅仅在仓储未满时候生产,仓满则停止生产. 2.消费者仅仅在仓储有产品时候才能消费,仓空则等待. 3.当消费者发现 ...

  6. SpringCloud整合分布式事务Seata 1.4.1 支持微服务全局异常拦截

    项目依赖 SpringBoot 2.5.5 SpringCloud 2020.0.4 Alibaba Spring Cloud 2021.1 Mybatis Plus 3.4.0 Seata 1.4. ...

  7. AIR32F103(四) 27倍频216MHz,CoreMark跑分测试

    目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...

  8. VirtualBox 下 CentOS7 静态 IP 的配置 → 多次踩坑总结,蚌埠住了!

    开心一刻 一个消化不良的病人向医生抱怨:我近来很不正常,吃什么拉什么,吃黄瓜拉黄瓜,吃西瓜拉西瓜,怎样才能恢复正常呢? 医生沉默片刻:那你只能吃屎了 环境准备 VirtualBox 6.1 网络连接方 ...

  9. 【翻译】Spring Security - 如何解决WebSecurityConfigurerAdapter类已被弃用的问题?

    原文链接:Spring Security - How to Fix WebSecurityConfigurerAdapter Deprecated 原文作者:Nam Ha Minh 原文发表日期:20 ...

  10. Go语言核心36讲48

    你真的很棒,已经跟着我一起从最开始初识Go语言,一步一步地走到了这里. 在这之前的几十篇文章中,我向你一点一点地介绍了很多Go语言的核心知识,以及一些最最基础的标准库代码包.我想,你已经完全有能力独立 ...