日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Python 封装MySQL类

發布時間:2025/3/21 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 封装MySQL类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?以后再也不用每次都重新寫啦!

? ?

import MySQLdb OperationalError = MySQLdb.OperationalError class MySQL: def __init__(self,host,user,password,port=3306,charset="utf8"): self.host=host self.port=portself.user=user self.password=password self.charset=charset try: self.conn=MySQLdb.connect(host=self.host,port=self.port,user=self.user,passwd=self.password)self.conn.autocommit(False)self.conn.set_character_set(self.charset) self.cur=self.conn.cursor() except MySQLdb.Error as e: print("Mysql Error %d: %s" % (e.args[0], e.args[1])) def __del__(self):self.close()def selectDb(self,db): try: self.conn.select_db(db) except MySQLdb.Error as e: print("Mysql Error %d: %s" % (e.args[0], e.args[1])) def query(self,sql): try: n=self.cur.execute(sql) return n except MySQLdb.Error as e: print("Mysql Error:%s\nSQL:%s" %(e,sql)) def fetchRow(self): result = self.cur.fetchone() return result def fetchAll(self): result=self.cur.fetchall() desc =self.cur.description d = [] for inv in result: _d = {} for i in range(0,len(inv)): _d[desc[i][0]] = str(inv[i]) d.append(_d) return d def insert(self,table_name,data): columns=data.keys()_prefix="".join(['INSERT INTO `',table_name,'`'])_fields=",".join(["".join(['`',column,'`']) for column in columns])_values=",".join(["%s" for i in range(len(columns))])_sql="".join([_prefix,"(",_fields,") VALUES (",_values,")"])_params=[data[key] for key in columns]return self.cur.execute(_sql,tuple(_params)) def update(self,tbname,data,condition):_fields=[]_prefix="".join(['UPDATE `',tbname,'`','SET'])for key in data.keys():_fields.append("%s = %s" % (key,data[key]))_sql="".join([_prefix ,_fields, "WHERE", condition ])return self.cur.execute(_sql)def delete(self,tbname,condition):_prefix="".join(['DELETE FROM `',tbname,'`','WHERE'])_sql="".join([_prefix,condition]) return self.cur.execute(_sql)def getLastInsertId(self): return self.cur.lastrowid def rowcount(self): return self.cur.rowcount def commit(self): self.conn.commit() def rollback(self):self.conn.rollback()def close(self): self.cur.close() self.conn.close()if __name__=='__main__':n=MySQL('127.0.0.1','root','123456',3306)n.selectDb('test')tbname='map'a=({'id':3,'x':3,'y':3},{'id':4,'x':4,'y':4},{'id':5,'x':5,'y':5})for d in a:n.insert(tbname,d)n.commit()


?一個重量級的MySQL-Python 封裝類:facebook python mysql

轉載于:https://blog.51cto.com/weipengfei/1269034

總結

以上是生活随笔為你收集整理的Python 封装MySQL类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。