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


Posted in Python onMarch 05, 2014
# -*- coding: utf-8 -*-
import sys
import MySQLdb
reload(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 userid=95084397',isAutoCommit=True)
 db.closeDB()
'''
Python 相关文章推荐
Python网络编程 Python套接字编程
Sep 13 Python
pandas数值计算与排序方法
Apr 12 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
Python3爬虫学习入门教程
Dec 11 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
Python实现时间序列可视化的方法
Aug 06 Python
关于Python形参打包与解包小技巧分享
Aug 24 Python
Python实现AI自动抠图实例解析
Mar 05 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
python遍历文件夹并删除特定格式文件的示例
Mar 05 #Python
python的三目运算符和not in运算符使用示例
Mar 03 #Python
python使用cookielib库示例分享
Mar 03 #Python
python使用cookie库操保存cookie详解
Mar 03 #Python
简单的通用表达式求10乘阶示例
Mar 03 #Python
python显示天气预报
Mar 02 #Python
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 #Python
You might like
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
用JQUERY增删元素的代码
2012/02/14 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
Python缩进和冒号详解
2016/06/01 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
教育学专业实习生的自我鉴定
2013/11/26 职场文书
心得体会范文
2014/01/04 职场文书
初三家长会邀请函
2014/01/18 职场文书
廉洁教育学习材料
2014/05/19 职场文书
2014年工人工作总结
2014/11/25 职场文书
初三英语教学计划
2015/01/23 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
Golang 遍历二叉树
2022/04/19 Golang
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python