转自:
http://blog.csdn.net/serverxp/article/details/6958459
#===============================================================================
# -*- coding: utf-8 -*-
#MySQLdb封装类
#author:paul wang
#===============================================================================
import MySQLdb as mdb
class myMySQL:
def connect(self,host="localhost",user="root",pwd="",database="",autocommit=False):
try:
self.isConnect = False
self.conn = mdb.connect( host, user,
pwd, database);
self.isConnect = True
self.cursor = self.conn.cursor()
self.cursor.execute("SELECT VERSION()")
data = self.cursor.fetchone()
if autocommit:
self.conn.autocommit(True)
else:
self.conn.autocommit(False)
except mdb.Error as e:
print ( "Connect Error %d: %s" % (e.args[0],e.args[1]) )
print ( "Database version : %s " % data )
def close(self):
try:
self.cursor.close()
self.conn.close()
except mdb.Error as e:
print ( "Close Error %d: %s" % (e.args[0],e.args[1]) )
def excute(self,sql=""):
try:
self.cursor.execute(sql)
except mdb.Error as e:
print ( "Excute Error %d: %s" % (e.args[0],e.args[1]) )
print ( "Excute sql= %s" % sql )
def getrows(self,sql):
try:
self.excute(sql)
rows = self.cursor.fetchall()
return rows
except mdb.Error as e:
print ( "getrows Error %d: %s" % (e.args[0],e.args[1]) )
def selectDB(self,dbName):
self.conn.select_db(dbName)
def commit(self):
self.conn.commit()
def rollback(self):
self.conn.rollback()
def setautocommit(self,auto=False):
self.conn.autocommit(auto)
def isConnected(self):
return self.isConnect
#下面是测试代码
#db = myMySQL()
#db.connect( "localhost","root","","drupal",False )
#db.setautocommit(False)
#db.excute("insert into test values(2)")
#db.rollback()
#rows = db.getrows("select * from test where 1 = 1 ")
#print( rows )
#db.close()