栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

 个人简介
  •  作者简介:大家好,我是阿牛,全栈领域新星创作者。
  •  支持我:点赞+收藏⭐️+留言
  •  系列专栏:拳打脚踢数据库
  • 格言:要成为光,因为有怕黑的人!

前些天发现了一个比较好的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

点击跳转到网站:人工智能学习

目录
    •  个人简介
  • 前言
    • pymysql 介绍与安装
    • 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哦!

如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

系列专栏
软磨 css
硬泡 javascript
flask框架快速入门

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号