封装一个python的pymysql操作类
最近使用pymysql写脚本的情况越来越多了,刚好整理,简单封装一个pymysql的操作类
import pymysql class MysqlDB: def __init__( self, host=None, port=None, db=None, javascript account=None, password=None, connect_timeout=20, read_timeout=20, write_timeout=20 ): self.conn = pymysql.connect( host=self.host, p开发者_数据库教程ort=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=Non编程客栈e, 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.phpcommit() 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.k编程客栈eys()))])})' cur.execute(sql, data) self.conn.commit() www.devze.com cur.close() def quit(self): self.conn.close()
到此这篇关于封装一个python的pymysql操作类的文章就介绍到这了,更多相关封装pymysql操作类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
精彩评论