1. 程式人生 > >window10系統下使用python3.3版本實現mysql查詢

window10系統下使用python3.3版本實現mysql查詢

參考文件:

環境 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()
複製程式碼