python工具之myql数据库操作
生活随笔
收集整理的這篇文章主要介紹了
python工具之myql数据库操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import pymysql
import config'''
1.0 簡單封裝
1.1 添加了insert_id屬性,返回insert時返回的主鍵
1.2 添加了column屬性,返回查詢的column
1.3 添加一個insert
1.4 添加了一個insertList支持批量添加
'''class Db:'''數據庫操作類Attributes:transactionFlag:是否開啟事務insert_id:insert時返回的主鍵'''def __init__(self):'''insert_id:insert時返回的主鍵'''self.insert_id = 0self.column = Nonedef __init__(self, transactionFlag=False):'''transactionFlag:是否開啟事務insert_id:insert時返回的主鍵'''self.insert_id = 0self.column = Noneself.transFlag = transactionFlagself.conn = pymysql.connect(host=config.host, port=config.port, user=config.user,passwd=config.passwd, db=config.db, charset='utf8')def close():'''關閉連接'''self.conn.close()def execSql(self, sql, param=None):'''執行增刪改語句,返回影響的行數sql:要執行的sqlparam:sql是的參數,默認值為None'''cursor = self.conn.cursor()if param == None:a = cursor.execute(sql)else:a = cursor.execute(sql, param)self.insert_id = cursor.lastrowidself.column = cursor.descriptionif self.transFlag == False:self.commit()return adef query(self, sql, param=None):'''執行查詢語句sql:要執行的sqlparam:sql是的參數,默認值為None'''cursor = self.conn.cursor(pymysql.cursors.DictCursor)if param == None:cursor.execute(sql)else:cursor.execute(sql, param)ret = cursor.fetchall()self.column = cursor.descriptioncursor.close()return retdef queryOne(self, sql, param=None):'''執行查詢語句sql:要執行的sqlparam:sql是的參數,默認值為None'''cursor = self.conn.cursor(pymysql.cursors.DictCursor)if param == None:cursor.execute(sql)else:cursor.execute(sql, param)ret = cursor.fetchone()cursor.close()return retdef insert(self, table, keyvalue):'''以鍵值對的方式添加數據,簡化insert'''keylist = []valuelist = []for key, value in keyvalue.items():keylist.append(key)valuelist.append("'%s'" % value)sql = "insert into %s(%s) values(%s)" % (table, ','.join(keylist), ",".join(valuelist))return self.execSql(sql)def insertList(self, table, keyvalueList):'''以鍵值對的方式添加數據,簡化insert'''keylist = []first = keyvalueList[0]for key, value in first.items():keylist.append(key)sql = "insert into %s(%s) values" % (table, ','.join(keylist))valuelist = []for kv in keyvalueList:vlist = []for k in keylist:vlist.append("'%s'" % kv[k])valuelist.append("(" + ','.join(vlist) + ")")sql = sql + ",".join(valuelist)return self.execSql(sql)def commit(self):self.conn.commit()def rollback(self):self.conn.rollback()
?
轉載于:https://www.cnblogs.com/wujf/p/6420729.html
總結
以上是生活随笔為你收集整理的python工具之myql数据库操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx初步配置
- 下一篇: 阿里云域名注册和虚拟云主机