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发送Email方法实例
Aug 21 Python
python中assert用法实例分析
Apr 30 Python
wxPython的安装与使用教程
Aug 31 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
人工神经网络算法知识点总结
Jun 11 Python
详解python调用cmd命令三种方法
Jul 08 Python
Python流程控制 if else实现解析
Sep 02 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
基于python调用jenkins-cli实现快速发布
Aug 14 Python
Python urllib3软件包的使用说明
Nov 18 Python
Scrapy实现模拟登录的示例代码
Feb 21 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 MySQL 之间的关系
2009/07/17 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
php导出excel格式数据问题
2014/03/11 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
微信小程序如何使用云开发
2019/05/17 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
react基本安装与测试示例
2020/04/27 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
使用python实现rsa算法代码
2016/02/17 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
JS的深浅复制详细
2021/10/16 Javascript
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技