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()
'''

(0)

相关推荐

  • python MySQLdb Windows下安装教程及问题解决方法

    使用python访问mysql,需要一系列安装 linux下MySQLdb安装见  Python MySQLdb在Linux下的快速安装 http://www.jb51.net/article/65743.htm ------------------------------------------------------------- 以下是windows环境下的: 1. 安装数据库mysql 下载地址:http://www.mysql.com/downloads/ 可以顺带装个图形工具,我用的

  • 在Python安装MySQL支持模块的方法

    刚安装Python的MySQL支持库,一口气遇到了一连串的问题,好在Google一下,均解决.遂记录下,备忘. 1.下载Python的MySQL支持库 地址:http://sourceforge.net/projects/mysql-python/ 2.解压编译 python setup.py install 遇到第一个问题: _mysql.c:44:23: error: my_config.h: No such file or directory 解决办法,编辑setup_posix.py文件

  • Python2.7简单连接与操作MySQL的方法

    本文实例讲述了Python2.7简单连接与操作MySQL的方法.分享给大家供大家参考,具体如下: Python号称简单优雅,其实新手摆弄一些东西的时候还是挺麻烦的,比如使用Python2.7连接MySQL数据库时,真是有点麻烦.现将方法整理出来. 环境:Python2.7.2.MySQL5.5 1.安装MySQL驱动程序.下载自动安装包,双击安装即可,非常简单. 2.连接MySQL,下面是Python示例代码. # -*- coding: utf8 -*- import MySQLdb conn

  • python连接mysql调用存储过程示例

    复制代码 代码如下: #!/usr/bin/env python# -*- coding: utf8 -*-import MySQLdbimport timeimport os, sys, stringdef CallProc(id,onlinetime):'''调用存储过程,输入参数:编号,在线时间,输出:帐号,密码;使用输出参数方式'''accname=''accpwd=''conn = MySQLdb.connect(host='localhost',user='root',passwd=

  • python mysqldb连接数据库

    没办法就下了一个2.6,如果用2.4就太低了,又折腾了,半天找到了MySQL-python-1.2.2.win32-py2.6.exe 这个安装文件,安装完成,执行 import MySQLdb 出现问题提示: File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 19, in <module> ImportError: DLL load failed: 找不到指定的模块. 经过无数的查找,发现官方的说

  • python连接MySQL、MongoDB、Redis、memcache等数据库的方法

    用Python写脚本也有一段时间了,经常操作数据库(MySQL),现在就整理下对各类数据库的操作,如后面有新的参数会补进来,慢慢完善. 一,python 操作 MySQL:详情见:[apt-get install python-mysqldb] 复制代码 代码如下: #!/bin/env python# -*- encoding: utf-8 -*-#-------------------------------------------------------------------------

  • python使用mysqldb连接数据库操作方法示例详解

    复制代码 代码如下: # -*- coding: utf-8 -*- #mysqldb    import time, MySQLdb #连接    conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")  cursor = conn.cursor() #写入    sql = "i

  • Python实现MySQL操作的方法小结【安装,连接,增删改查等】

    本文实例讲述了Python实现MySQL操作的方法.分享给大家供大家参考,具体如下: 1. 安装MySQLdb.从网站下载Mysql for python 的package 注意有32位和64位之分. 2. 安装完成之后从Python IDLE 导入MySQLdb >>>import MySQLdb 3. 新建一个数据库连接: >>>conn =MySQLdb.connect(host = '127.0.0.1',user= 'root',passwd='123456'

  • Python下的Mysql模块MySQLdb安装详解

    默认情况下,MySQLdb包是没有安装的,不信? 看到类似下面的代码你就信了. 复制代码 代码如下: -bash-3.2# /usr/local/python2.7.3/bin/python get_cnblogs_news.py Traceback (most recent call last):  File "get_cnblogs_news.py", line 9, in <module>    import MySQLdbImportError: No module

  • python连接mysql数据库示例(做增删改操作)

    一.相关代码数据库配置类 MysqlDBConn.py 复制代码 代码如下: #encoding=utf-8'''Created on 2012-11-12 Mysql Conn连接类''' import MySQLdb class DBConn: conn = None #建立和数据库系统的连接    def connect(self):        self.conn = MySQLdb.connect(host="localhost",port=3306,user="

  • centos 下面安装python2.7 +pip +mysqld

    python2.7 复制代码 代码如下: wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz yum install xz-libs xz -d Python-2.7.6.tar.xz ls tar -xvf Python-2.7.6.tar cd Python-2.7.6 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-deve

  • python Django连接MySQL数据库做增删改查

    1.下载安装MySQLdb类库http://www.djangoproject.com/r/python-mysql/2.修改settings.py 配置数据属性 复制代码 代码如下: DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.        'NAME': 'djang

随机推荐