详解Python如何利用pymysql封装项目通用的连接和查询
更新时间:2022-08-03 22:53:04 作者:佚名 我要评论(0)
一个项目通常都需要有数据库,而对于python这门语言,除了一些
前言
一个项目通常都需要有数据库,而对于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封装连接 查询的资料请关注脚本之家其它相关文章!
- 使用python连接mysql数据库之pymysql模块的使用
- python3.6使用pymysql连接Mysql数据库
- Python中模块pymysql查询结果后如何获取字段列表
- Python pymysql操作MySQL详细
- python使用pymysql模块操作MySQL
您可能感兴趣的文章:
相关文章
详解Python如何利用pymysql封装项目通用的连接和查询
目录前言pymysql 介绍与安装pymysql 的使用封装项目通用的连接和查询结语前言 一个项目通常都需要有数据库,而对于python这门语言,除了一些2022-08-03Python docx库删除复制paragraph及行高设置图片插入示例
目录引言1、复制paragraph2、删除paragraph3、插入图片和paragraph行高设置引言 这两天做一个python小工具,用到了docx库,涉及到paragraph的2022-08-03Python中的 No Module named ***问题及解决
目录No Module named ***问题问题描述python3 No module named 'PIL'使用命令No Module named ***问题 问题描述 使用python的时候,2022-08-03
最新评论