python连接mysql并提交mysql事务示例

代码如下:

# -*- coding: utf-8 -*-import sysimport mysqldbreload(sys)sys.setdefaultencoding(‘utf-8′)class db(object): def __init__(self,host=’127.0.0.1′,port=3306,user=’root’,passwd=’123′,database=”): self.__host=host self.__port=port self.__user=user self.__passwd=passwd self.__database=database self.__open=false print ‘__init__’ def __connect__(self): if self.__open == false: print ‘connect db…’ self.__conn = mysqldb.connect(host=self.__host , port=self.__port , user=self.__user , passwd=self.__passwd,charset=’utf8′) self.__open = true

def __executesql__(self,sql): self.__connect__() self.__executor = self.__conn.cursor(cursorclass = mysqldb.cursors.dictcursor) self.__executor.execute(‘use ‘+self.__database) #切换数据库 return self.__executor.execute(sql) def executequeryforobject(self , sql): self.__executesql__(sql) return self.__executor.fetchone()

”’ 返回key=value 字典 ”’ def executequeryall(self , sql): self.__executesql__(sql) return self.__executor.fetchall() def executeupdate(self ,sql=” , isautocommit=false): c = self.__executesql__(sql) if isautocommit == true: self.commit() #提交事务 return c ”’ #提交事务 ”’ def commit(self): self.__conn.commit() #提交事务 ”’ #关闭数据库,释放资源 ”’ def closedb(self): if not self.__conn is none: print ‘close db…’ self.__conn.commit() #提交事务 self.__conn.close()

def print_parameters(self): print self.__user print self.__passwd print self.__host print self.__port”’if __name__ == ‘__main__’: db=db(database=’tb2013′) #db.print_parameters() #db.executesql(‘select * from tb_user’) print db.executequeryforobject(‘select count(*) as count from tb_user’) _rows = db.executequeryall(‘select userid,nick from tb_user limit 10’); print _rows for row in _rows: print row print ‘nick:%s’ % str(row[‘nick’]) print db.executeupdate(sql=’update tb_user set nick=\’test\’ where user,isautocommit=true) db.closedb()”’

Posted in 未分类

发表评论