window10系統下使用python3.3版本實現mysql查詢
阿新 • • 發佈:2019-02-14
參考文件:
環境 windows10 | python3.3
方法如下:>下載安裝的指令碼https://bootstrap.pypa.io/ez_setup.py,下載該指令碼後執行 >python ez_setup.py >即可。指令碼會自動判斷python的版本,自動下載,安裝。 2.安裝pip 方法如下:我們同樣需要在Python的官網上去下載, 解壓到某目錄下,cd進去,使用命令 python setup.py install 進行安裝 將X:\Python\Script 目錄新增到path 3.安裝mysqldb pip install mysql-python 測試檔案: DB.py#!/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()使用命令 python use.py 進行呼叫 _____________________________________________________________ 也可以使用pymysql查詢 簡單demo如下所示:
#!/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()