• window10系统下使用python版本实现mysql查询


    参考文档:

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

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

    环境 (windows10 && python3.3) || (linux &&python2.7)

    1.确保已经安装setuptools
    方法如下:>下载安装的脚本https://bootstrap.pypa.io/ez_setup.py,下载该脚本后运行
         >python ez_setup.py
         >即可。脚本会自动判断python的版本,自动下载,安装。
    2.安装pip
    方法如下:我们同样需要在Python的官网上去下载,
    解压到某目录下,cd进去,使用命令 python setup.py install 进行安装
    将X:PythonScript 目录添加到path 
     
     3.安装mysqldb
    pip install mysql-python
     
     代码是python2.7版本测试通过
    测试文件:
    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查询 代码是python3.3版本测试通过
    简单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()
  • 相关阅读:
    appscan的初步使用
    解决selenium自动化上传图片或文件出现windows窗口问题
    写入excel数据报错:ValueError: Cannot convert {'code': 0, 'msg': 'login success!', 'username': 'test',} to Excel
    接口自动化使用session会话解决数据依赖问题
    使用django开发一个简单的post接口
    windows10,解决jmeter5.2.1版本界面字体过小问题
    django配置使用mysql数据库运行报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
    python装饰器
    python闭包
    工作总结
  • 原文地址:https://www.cnblogs.com/ddddemo/p/5671557.html
Copyright © 2020-2023  润新知