python实现mysql事务_python连接mysql并提交mysql事务示例
代码如下:
# -*- 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()
'''
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
python实现mysql事务_python连接mysql并提交mysql事务示例相关推荐
- mysqlclient==1.3.7对应mysql版本_Python通过MySQLdb访问操作MySQL数据库
前言 Python支持通过多种方式访问MySQL数据库.可能有些刚入门的朋友们对Python访问MySQL数据库还不是很熟悉,故计划对Python访问MySQL数据库的这几种方式分别作一介绍. 系列第 ...
- MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...
本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1. 首先使用两个简单的查询语句: 查询当前版本:se ...
- mongodb mysql 事务_MongoDB数据库两阶段提交实现事务的方法详解 _ 蚂蚁视界
本文实例讲述了MongoDB数据库两阶段提交实现事务的办法.分享给年夜家供年夜家参考,详细如下: MongoDB数据库中操作单个文档老是原子性的,然而,涉及多个文档的操作,通常被作为一个"事 ...
- apache php mysql是长连接吗_php关于mysql长连接问题
1.当 函数 mysql_connect 的前三个参数(server username password)相同,并且第四个参数(new_link)不传递时候,重复调用mysql_connect 是会返 ...
- python redis事务_python实现redis三种cas事务操作
cas全称是compare and set,是一种典型的事务操作. 简单的说,事务就是为了存取数据库中同一数据时不破坏操作的隔离性和原子性,从而保证数据的一致性. 一般数据库,比如MySql是如何保证 ...
- mysql的左右连接 分页_Java 与 Mysql连接,并分页显示
这是我第一个上规模的Java项目,我们必须在一周内完成的作业,零基础学习Java,网上收集了很多资料,逐渐对面向对象的思想有所了解,但还是半灌水,后期打算结合项目系统地学习一遍Java.老师布置的任务 ...
- mysql server远程连接_MySql server:开放mysql远程连接
一般情况下,mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 目前有两种方法可供选择:改表法和授权法. 改表法: 1.登陆mysq ...
- python tcp服务器模板_python socket之tcp服务器与客户端示例
Python中用socket编写服务器和客户端... 先说下我的问题,本来预想是,客户端连上服务器,然后向服务器发送信息服务器端代码 while 1: buf = s.recv(1024) 改成 wh ...
- python文件去重软件_Python实现的txt文件去重功能示例
本文实例讲述了Python实现的txt文件去重功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 import shutil a=0 readD ...
最新文章
- BaseTDI.sys 瑞星卡巴冲突,导致机器蓝屏
- [原创] SQLite数据库使用清单(上)
- EMF+GEF的属性页问题
- Python3 文件操作
- Kotlin中的高阶函数
- VR: AR和VR演进哲学
- MFC之CAsyncSocket详解
- 苹果手机怎么编辑word文档_可以一键导入word图文的微信编辑软件有什么?编辑器怎么使用?...
- java 实际参数列表_JAVA实际参数和形式参数列表长度不同
- 服务器c盘清理文件,如何清理Windows服务器的C盘
- 微软word 2019取消交叉引用
- 20162327WJH第二次实验——树
- server2003安装python3.4.4
- 联合国首席AI顾问专访:我们期望AI应该是完美的,但这永远不会
- 减少网页加载时间的6个技巧
- 【CXY】JAVA基础 之 JDBC
- html文字居中对齐显示
- laravel 将汉字转化成拼音
- 前端利用js里数组的filter方法进行多条件过滤查询
- WinForm 显示图片PictureBox控件
热门文章
- Cell Reports:去除宿主和胞外DNA以提高微生物基因组得率(痰液样本)
- 读硕期间给你最大帮助的不是你的导师,而是他们
- php base64解码,PHP Base64 中英文编码 JavaScript 解码
- python使用matplotlib中的errorbar函数可视化误差条、并自定义数据点标记、数据点大小、数据点颜色、数据点边缘颜色、误差棒颜色、误差棒线条宽度、误差棒边界线长度、误差棒边界线厚度等
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色调色板配置)实战
- python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据、matplotlib可视化生成的仿真数据
- R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)
- R语言ggplot2可视化多行文本轴标签、轴标签带下标、轴标签数学公式实战
- pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据
- python实现选择排序