• python自动化之pymysql库连接mysql数据库封装成类


    import pymysql

    if __name__ == '__main__':

    host = "被访问数据库的ip地址或者域名"
    port = 端口号
    user = "连接数据库的用户名"
    password = "连接数据库的密码"
    sql = "要查询的SQL语句 "

    # 连接一个给定的数据库,autocommit 默认是False,改成True后会自动帮你提交sql命令
    mysql = pymysql.connect(host=host,user= user,password=password,port=port,charset="utf8",autocommit=True)

    # 建立游标用来执行数据库操作
    cursor = mysql.cursor()

    # 执行sql命令
    cursor.execute(sql)

    #提交sql命令
    mysql.commit()

    # fetchone() :返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None
    # fetchall() : 返回元组嵌套元组,即返回多个记录(rows),如果没有结果 则返回 ()
    # 获取前n行数据 data = cursor.fetchmany(3) 获取前三行数据,元组嵌套元组
    # 需要注明:在MySQL中是NULL,而在Python中则是None

    data = cursor.fetchone()
    print(data)

    # 关闭游标
    cursor.close()

    # 关闭数据库连接
    mysql.close()


    以下是将pymysql要用到的功能进行了封装
    class  MysqlHandler:
    #建立数据库连接,新建一个查询页面
    def __init__(self):
    # port要转为int,这里的各项值是利用的封装好的配置文件configparser库进行的传入section,option进行的读取
    self.mysql = pymysql.connect(host= config.handles.get_value("mysql", "connection"),
    user = config.handles.get_value("mysql", "user"),
    password=config.handles.get_value("mysql", "password"),
    port= int(config.handles.get_value("mysql", "port")), charset="utf8", autocommit=True)
    self.cursor = self.mysql.cursor(pymysql.cursors.DictCursor) # pymysql.cursors.DictCursor 指明了建立的游标是dict fetchone 是字典 fetchalllistdict

    #获取查询结果,结果是dict,上面建立游标指定了是dict
    def query_one(self,sql):
    self.cursor.execute(sql)
    data = self.cursor.fetchone()
    return data

    #关闭查询页面,关闭连接
    def close(self):
    self.cursor.close()
    self.mysql.close()






  • 相关阅读:
    python注释方法以及编码问题
    python数据类型和变量
    JavaScript必须了解的知识点总结。
    javaScript语法总结
    美图WEB开放平台环境配置
    变点问题的统计推新及其在全融中的应用 谭常春
    Structural breaks in time series
    多种单位根检验法的比较研究 房林邹卫星
    1-出口数据的平稳性分析
    时间序列中的结构突变与单位根检验
  • 原文地址:https://www.cnblogs.com/xintiaoab/p/13439502.html
Copyright © 2020-2023  润新知