标签:
参考文档:
兔大侠整理的MySQL-Python(MySQLdb)封装类
Python安装模块出错(ImportError: No module named setuptools)解决方法
环境 windows10 | python3.3
#!/usr/bin/env python import MySQLdb import time class ZDB: error_code = ‘‘ _instance = None _conn = None _cur = None _TIMEOUT = 30 _timecount = 0 def __init__(self,dbconfig): try: self._conn = MySQLdb.connect(host=dbconfig[‘host‘], port=dbconfig[‘port‘], user=dbconfig[‘user‘], passwd=dbconfig[‘passwd‘], db=dbconfig[‘db‘], charset=dbconfig[‘charset‘]) except MySQLdb.Error,e: self.error_code = e.args[0] error_msg = "MYSQL ERROR ! ",e.args[0].e.args[1] print error_msg if self._timecount < self._TIMEOUT: interval = 5 self._timecount += interval time.sleep(interval) return self.__init__(dbconfig) else: raise Exception(error_msg) self._cur = self._conn.cursor() self._instance = MySQLdb def query(self,sql): try: self._cur.execute("SET NAMES UTF8") result = self._cur.execute(sql) except MySQLdb.error,e: self.error_code = e.args[0] print "MYSQL ERROR-Query:",e.args[0],e.args[1] result=FALSE return result def update(self,sql): try: self._cur.execute("SET NAMES UTF8") result = self._cur.execute(sql) self._conn.commit() except MySQLdb.Error,e: self.error_code = e.args[0] print "MYSQL ERROR-Update:",e.args[0],e.args[1] result=FALSE return result def insert(self,sql): try: self._cur.execute("SET NAMES UTF8") self._cur.execute(sql) self._conn.commit() return self._conn.insert_id() except MySQLdb.Error,e: self.error_code = e.args[0] print "MYSQL ERROR-Insert:",e.args[0],e.args[1] result=FALSE def fetchAllRows(self): return self._cur.fetchall() def getRowCount(self): return self._cur.rowcount() def commit(self): self._conn.commit() def rollback(self): self._conn.rollback() def __del__(self): try: self._cur.close() self._conn.close() except: pass def close(self): self.__del__()
使用测试:
use.py
#!/usr/bin/env python from DB import ZDB def main(): dbconfig={‘host‘:‘ ‘, ‘port‘:3306, ‘user‘:‘ ‘, ‘passwd‘:‘ ‘, ‘db‘:‘test‘, ‘charset‘:‘UTF8‘} db=ZDB(dbconfig) sql = "SELECT * FROM `user`" db.query(sql) result = db.fetchAllRows() print "This is the result>",result for row in result: for colum in row: print colum db.close() main()
#!/usr/bin/env python # -*- coding: utf-8 -*- import pymysql conn=pymysql.connect(host=‘localhost‘, port=3306, user=‘root‘, passwd=‘root‘, db=‘test‘, charset=‘utf8‘) cur = conn.cursor() sql = "SELECT * FROM chart_pie" cur.execute(sql) for r in cur.fetchall(): for column in r: print(r) conn.close()
window10系统下使用python3.3版本实现mysql查询
标签:
原文地址:http://www.cnblogs.com/ddddemo/p/5671557.html