码迷,mamicode.com
首页 > 数据库 > 详细

window10系统下使用python3.3版本实现mysql查询

时间:2016-07-14 21:16:01      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

参考文档:

兔大侠整理的MySQL-Python(MySQLdb)封装类

Python安装模块出错(ImportError: No module named setuptools)解决方法

 

环境 windows10 | python3.3 

1.确保已经安装setuptools
方法如下:>下载安装的脚本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()

 

window10系统下使用python3.3版本实现mysql查询

标签:

原文地址:http://www.cnblogs.com/ddddemo/p/5671557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!