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 selenium 三种等待方式解读
Sep 15 Python
使用python进行文本预处理和提取特征的实例
Jun 05 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
python 除法保留两位小数点的方法
Jul 16 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
pandas-resample按时间聚合实例
Dec 27 Python
PyTorch中反卷积的用法详解
Dec 30 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
Python版中国省市经纬度
Feb 11 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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预定义变量使用帮助(带实例)
2013/10/30 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
React快速入门教程
2017/01/17 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
Python实现简单多线程任务队列
2016/02/27 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
python list格式数据excel导出方法
2018/10/31 Python
Python rstrip()方法实例详解
2018/11/11 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
python+pyqt5编写md5生成器
2019/03/18 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
抄作业检讨书
2014/02/17 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
公司内部升职自荐信
2015/03/27 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers