pymysql模块详解

华子目录

简介

  • pymysql是一个用于Python编程第三方模块,用于连接操作MySQL数据库。它提供了一个简单强大接口,使开发者能够轻松地Python程序执行各种数据库操作,如查询插入更新删除数据

安装pymysql

bash 复制代码
#在终端命令中执行
pip install pymysql

连接对象常用方法

方法 描述
cursor() 创建一个游标对象所有sql语句执行都要在游标对象下进行
begin() 开启一个事务
commit() 提交事务
rollback() 回滚事务
select_db(db) 切换数据库db是一个字符串
close() 关闭数据库连接

游标对象常用方法

方法 描述
execute(sql, params) 执行数据库语句,如sql语句数据库命令sql是一个字符串paramstuple, list or dict
executemany(sql, params) 用于批量执行sql语句sql是一个字符串paramstuplelist
fetchone() 返回查询结果第一个记录
fetchmany(size) 返回查询结果指定数量记录size是一个int类型,默认为1
fetchall() 返回查询结果集所有记录

数据库操作

python 复制代码
import pymysql
from pprint import pprint

#创建一个数据库连接对象
db = pymysql.connect(host="172.25.254.128",
                     port=3306,
                     user="huazi",
                     password="123456",
                     database="huazi",
                     charset="utf8mb4")

#创建一个游标对象
cursor = db.cursor()

#写一条sql语句
sql = "select * from stu"

#执行sql语句
cursor.execute(sql)

#获取数据
data = cursor.fetchall()
pprint(data)

#关闭游标
cursor.close()
#关闭连接
db.close()

python 复制代码
import pymysql

#创建一个数据库连接对象
db = pymysql.connect(host="172.25.254.128",
                     port=3306,
                     user="huazi",
                     password="123456",
                     database="huazi",
                     charset="utf8mb4")

#创建一个游标
cursor = db.cursor()

#写一条sql语句
sql = "update stu set name=%s where id=%s"

name = "xiaohua"
id = 1

#执行sql语句
cursor.execute(sql, [name, id])

#提交
db.commit()

#关闭游标
cursor.close()
#关闭连接
db.close()

批量增加

python 复制代码
import pymysql

#创建一个数据库连接对象
db = pymysql.connect(host="172.25.254.128",
                     port=3306,
                     user="huazi",
                     password="123456",
                     charset="utf8mb4")

#创建一个游标
cursor = db.cursor()

#选择操作的数据库
db.select_db("test")

#写一条sql语句
sql = "insert into user(username, password) values(%s, %s)"

values = [
    ("huazi", "123456"),
    ("xiaoge", "67890"),
    ("hahaha", "45678")
]

#执行sql语句
cursor.executemany(sql, values)

#提交
db.commit()

#关闭游标
cursor.close()
#关闭连接
db.close()

python 复制代码
import pymysql

#创建一个数据库连接对象
db = pymysql.connect(host="172.25.254.128",
                     port=3306,
                     user="huazi",
                     password="123456",
                     charset="utf8mb4")

#创建一个游标
cursor = db.cursor()

#选择操作的数据库
db.select_db("test")

#写一条sql语句
sql = "delete from user where username=%s"

name = ('xiaoge',)

#执行sql语句
cursor.execute(sql, name)

#提交
db.commit()

#关闭游标
cursor.close()
#关闭连接
db.close()

使用with语句

  • with自动关闭游标
python 复制代码
import pymysql

#创建一个数据库连接对象
db = pymysql.connect(host="172.25.254.128",
                     port=3306,
                     user="huazi",
                     password="123456",
                     charset="utf8mb4")

db.select_db("view")

try:
    with db.cursor() as cursor:  # cursor = db.cursor()
        sql = "select * from student"
        cursor.execute(sql)
        data = cursor.fetchall()
        for i in data:
            print(i)
finally:
    db.close()

总结

  • DML语句时(insert,update,delete)需要commit提交select查询语句不需要commit提交
相关推荐
卷无止境几秒前
Python 异常处理:从入门到工程实践
后端·python
garuda herb3 分钟前
生成专题页Blog--建立并返回 MySQL 数据库连接
python·mysql
流星白龙5 分钟前
【Redis】1.Redis特性
数据库·redis·缓存
ONE_SIX_MIX7 分钟前
qwenpaw-plugin-file-tools QwenPaw增强文件工具 更新 v1.1.1
python·qwenpaw
奶糖 肥晨8 分钟前
DBeaver 安装与 MySQL 连接配置教程
数据库·mysql
AOwhisky11 分钟前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
woshihuanglaoshi26 分钟前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
码农学院29 分钟前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
程序员羽痕29 分钟前
基于 Django + PyTorch 的中文字体识别系统
pytorch·python·django
java_logo2 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris