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

歡迎訪問 生活随笔!

生活随笔

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

数据库

python mysql dbutils_python操作mysql数据库增删改查的dbutils实例

發布時間:2025/3/12 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python mysql dbutils_python操作mysql数据库增删改查的dbutils实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#encoding=utf-8

importMySQLdbimportgconf#主類

classMysqlConnection(object):def __init__(self, host, port, user, passwd, db, charset='utf8'):

self.__host =host

self.__port =port

self.__user =user

self.__passwd =passwd

self.__db =db

self.__charset =charset

self.__conn =None

self.__cur =None

self.__connect()#連接數據庫

def __connect(self):try:

self.__conn = MySQLdb.connect(host = self.__host, port = self.__port,\

user= self.__user, passwd = self.__passwd,\

db= self.__db, charset = self.__charset)

self.__cur = self.__conn.cursor()exceptBaseException as e:printedefclose(self):#在關閉連接之前將內存中的文件寫入磁盤

self.commit()if self.__cur:

self.__cur.close()

self.__cur =Noneif self.__conn:

self.__conn.close()

self.__conn =None#設置提交

defcommit(self):if self.__conn:

self.__conn.commit()def execute(self, sql, args =()):

_cnt=0if self.__cur:

self.__cur.execute(sql, args)return_cntdef fetch(self, sql, args =()):

_cnt=0

rt_list=[]#_cnt = self.execute(sql, args)

if self.__cur:

_cnt= self.__cur.execute(sql, args)

rt_list= self.__cur.fetchall()return_cnt, rt_list

@classmethoddef execute_sql(cls, sql, args=(), fetch =True):

count=0

rt_list=[]

conn= MysqlConnection(host = gconf.MYSQL_HOST, port =gconf.MYSQL_PORT,\

user= gconf.MYSQL_USER, passwd = gconf.MYSQL_PASSWORD, db =gconf.MYSQL_DB,\

charset=gconf.MYSQL_CHARSET)printsqliffetch:

count, rt_list=conn.fetch(sql, args)else:

count=conn.execute(sql, args)

conn.close()printrt_listreturncount, rt_listdef execute_fetch_sql(sql, args = (), fetch =True):returnexecute_sql(sql, args, fetch)def execute_commit_sql(sql, args = (), fetch =False):returnexecute_sql(sql, args, fetch)#區別在于是查詢還是修改,增加,刪除操作,用fetch來標識

def execute_sql(sql, args = (), fetch =True):

cur=None

conn=None

count=0

rt=()try:

conn= MySQLdb.connect(host = gconf.MYSQL_HOST, port =gconf.MYSQL_PORT,\

user= gconf.MYSQL_USER, passwd = gconf.MYSQL_PASSWORD, db =gconf.MYSQL_DB,\

charset=gconf.MYSQL_CHARSET)

cur=conn.cursor()print 'dbutils sql:%s, args = %s' %(sql, args)

count=cur.execute(sql, args)#如果是查詢

iffetch:

rt=cur.fetchall()#if args:

#rt = cur.fetchone()

#else:

#rt = cur.fetchall()

else:

conn.commit()exceptBaseException, e:printefinally:ifcur:

cur.close()ifconn:

conn.close()print 'dbutils:%s,%s' %(count,rt)returncount,rt#批量插入數據庫

def batch_execute_sql(sql, rt_list =[]):

cur=None

conn=None

count=0

rt=()try:

conn= MySQLdb.connect(host = gconf.MYSQL_HOST, port =gconf.MYSQL_PORT,\

user= gconf.MYSQL_USER, passwd = gconf.MYSQL_PASSWORD, db =gconf.MYSQL_DB,\

charset=gconf.MYSQL_CHARSET)

cur=conn.cursor()printsql#循環執行插入語句,一次性全部提交

for line inrt_list:

count+=cur.execute(sql, line)

conn.commit()exceptBaseException, e:printefinally:ifcur:

cur.close()ifconn:

conn.close()returncount#測試代碼

if __name__ == '__main__':#conn = MysqlConnection(host = gconf.MYSQL_HOST, port = gconf.MYSQL_PORT,\

#user = gconf.MYSQL_USER, passwd = gconf.MYSQL_PASSWORD, db = gconf.MYSQL_DB,\

#charset = gconf.MYSQL_CHARSET)

## conn.execute('insert into user(username) values(%s)', ('jack123',))

#cnt, rt_list = conn.fetch('select * from user')

#print cnt,rt_list

#conn.close()

count, rt_list = MysqlConnection.execute_sql('insert into user(username) values(%s)',('tomkeeper',))print rt_list

總結

以上是生活随笔為你收集整理的python mysql dbutils_python操作mysql数据库增删改查的dbutils实例的全部內容,希望文章能夠幫你解決所遇到的問題。

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