python中操作数据库

Posted learn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中操作数据库相关的知识,希望对你有一定的参考价值。

python中要操作数据库,要使用该数据库在python中对应的驱动库,本文介绍python操作mysql数据库

1.首先安装pymysql

 

 

 2.导入库

3.建立连接

4.建立游标

5.发起请求

6.得到结果

7.关闭游标、连接

import pymysql
import yaml
from pymysql.cursors import DictCursor

from config.setting import conf


class DBhandler():
    def __init__(self,host,user,password,port,charset,
                 database=None,cursorclass=DictCursor,**kw):
        """初始化"""
        #建立连接
        #建立游标
        self.conn=pymysql.connect(host=host,user=user,
                                  password=password,port=port,
                                  charset=charset,database=database,
                                  cursorclass=cursorclass,**kw)
        self.curs=self.conn.cursor()

    def query(self,sql,args=None,one=True):
        """查询语句"""
        self.curs.execute(sql,args)
        # 获取结果
        if one:
            return  self.curs.fetchone()
        else:
            return self.curs.fetchall()

    def close_db(self):
        """关闭连接"""
        self.curs.close()
        self.conn.close()

if __name__ == \'__main__\':
    with open(conf.yaml_file_path,encoding=\'utf8\')as f:
        yaml_data=yaml.load(f,Loader=(yaml.FullLoader))
        print(yaml_data)
        db=DBhandler(host=yaml_data["DBhandler"]["host"],
                     user=yaml_data["DBhandler"]["user"],
                     password=yaml_data["DBhandler"]["password"],
                     port=yaml_data["DBhandler"]["port"],
                     charset=yaml_data["DBhandler"]["charset"],
                     database=yaml_data["DBhandler"]["database"])
    res = db.query("select * from member limit 2;")
    print(res)

  

 

以上是关于python中操作数据库的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

Python - 循环加速 - 大型数据集

如何在 python 中并行化以下代码片段?

Python 向 Postman 请求代码片段

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段