详解Python如何利用pymysql封装项目通用的连接和查询

 更新时间:2022年07月22日 16:13:41   作者:馆主阿牛  
一个项目通常都需要有数据库,本文就来为大家详细讲讲Python如何利用pymysql简单分装一个通用的连接,关闭和查询,需要的可以参考一下

前言

一个项目通常都需要有数据库,而对于python这门语言,除了一些框架自带orm或者扩展的orm(像django自带orm,flask则需要扩展的orm),使用orm必然有他的好处,但毫无疑问你要花时间学习这个orm,那么接下来阿牛带你们用pymysql简单分装一个通用的连接,关闭和查询!

pymysql 介绍与安装

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

在终端使用以下指令安装:

pip3 install PyMySQL

pymysql 的使用

import  pymysql

# 打开数据库连接,password为你的数据库密码,db是数据库名
db = pymysql.connect(host="127.0.0.1",
                     user="root",
                     password=" ",
                     db=" ",
                     charset="utf8")

# 使用 cursor() 方法创建一个游标对象
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print("Database version : %s " % data)

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

password为你的数据库密码,db是数据库名,操作前请先建立好你的mysql数据库。

如图,我连接成功并且获取到了我数据库的版本!

方法execute执行我们的sql语句。

在获取执行的结果时,可以指定获取的结果的条数,可以使用的选项如下:

fetchone()         # 取得检索结果的一条数据

fetchmany(n)       # 取得检索结果的n条数据

fetchall()         # 取得检索结果的所有数据

需要注意的是,与读取文件时的指针类似,如果在同一段代码中,先使用fetchone()获取检索结果的第一条数据,然后再使用fetchmany(2)的话,指针会在检索结果的当前位置向后读取执行结果,而不会从头开始重新读取检索的结果。

获取到的结果是元组。,如下图:

封装项目通用的连接和查询

请自行写入密码和数据库

import pymysql

# 创建连接
#return: 连接,游标
def get_conn():

    # 创建连接
    conn = pymysql.connect(host="127.0.0.1",
                           user="root",
                           password="",
                           db="",
                           charset="utf8")
    # 创建游标
    cursor = conn.cursor()# 执行完毕返回的结果集默认以元组显示
    return conn, cursor


# 关闭游标,连接
def close_conn(conn, cursor):
    cursor.close()
    conn.close()


def query(sql,*args):
    """
    封装通用查询
    :param sql:
    :param args:
    :return: 返回查询到的结果,((),(),)的形式
    """
    conn, cursor = get_conn()
    cursor.execute(sql,args)
    res = cursor.fetchall()
    close_conn(conn, cursor)
    return res

因此,我们在查询时只需要调用query()函数就行,*args可以让其传入任意个参数或者不传参数,只需要sql语句中的占位符和参数个数对应就可以!

使用如下图所示

结语

只要你的sql过关,pymsql也可以帮助你完成项目!不一定需要使用orm哦!

以上就是详解Python如何利用pymysql封装项目通用的连接和查询的详细内容,更多关于Python pymysql封装连接 查询的资料请关注脚本之家其它相关文章!

相关文章

  • Django框架中序列化和反序列化的例子

    Django框架中序列化和反序列化的例子

    今天小编就为大家分享一篇Django框架中序列化和反序列化的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python UnicodedecodeError编码问题解决方法汇总

    Python UnicodedecodeError编码问题解决方法汇总

    本文主要介绍了Python UnicodedecodeError编码问题解决方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • windows系统中Python多版本与jupyter notebook使用虚拟环境的过程

    windows系统中Python多版本与jupyter notebook使用虚拟环境的过程

    这篇文章主要介绍了windows中Python多版本与jupyter notebook中使用虚拟环境的安装过程,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • Python操作JSON文件的知识点整理

    Python操作JSON文件的知识点整理

    Python 提供了内置的 json 模块来处理 JSON 格式的文件。该模块主要分为读取和写入 JSON 文件。本文主要为大家整理了一些Python操作JSON文件的知识点,需要的可以参考一下
    2023-01-01
  • Python 获取md5值(hashlib)常用方法

    Python 获取md5值(hashlib)常用方法

    这篇文章主要介绍了Python获取md5值(hashlib)常用方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • python如何调用php文件中的函数详解

    python如何调用php文件中的函数详解

    这篇文章主要给大家介绍了关于python如何调用php文件中函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python绘制散点图的教程详解

    Python绘制散点图的教程详解

    散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。本文将用Python绘制散点图,需要的可以参考一下
    2022-03-03
  • pytest实战技巧之参数化基本用法和多种方式

    pytest实战技巧之参数化基本用法和多种方式

    本文介绍了pytest参数化的基本用法和多种方式,帮助读者更好地使用这个功能,同时,还介绍了一些高级技巧,如动态生成参数名称、参数化的组合和动态生成参数化装饰器,帮助读者更灵活地使用参数化,感兴趣的朋友参考下吧
    2023-12-12
  • 利用python进行接口测试及类型介绍

    利用python进行接口测试及类型介绍

    这篇文章主要介绍了利用python进行接口测试详情,文章基于python展开对接口测试的详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例

    Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例

    这篇文章主要介绍了Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能,涉及Python基于re模块的正则匹配及selenium模块的页面抓取等相关操作技巧,需要的朋友可以参考下
    2018-07-07

最新评论