Python使用PyMySql增删改查Mysql数据库的实现

 更新时间:2024年01月02日 15:36:15   作者:爱写代码的小朋友  
PyMysql是Python中用于连接MySQL数据库的一个第三方库,本文主要介绍了Python使用PyMySql增删改查Mysql数据库的实现,具有一定的参考价值,感兴趣的可以了解一下

PyMysql简介

PyMysql是Python中用于连接MySQL数据库的一个第三方库,它实现了MySQL客户端/服务器协议,使得Python程序能够与MySQL服务器进行交互。由于Python2的mysql-python(又称mysqldb)模块在Python 3上支持不够完善,因此pymysql成为了在Python3.x环境中一个流行的替代方案。

PyMysql的主要特点和功能:

  • 兼容性:pymysql与Python 3完全兼容,并且可以在Python
    2.7及更高版本上运行,为跨Python版本的应用提供统一的MySQL数据库操作接口。
  • API设计:提供了类似DB-API 2.0规范的接口,使得开发者可以使用熟悉的执行SQL语句、获取结果集等方法。
  • 安全连接:支持安全的SSL加密连接到MySQL服务器。
  • 事务处理:通过commit()和rollback()方法支持事务控制。
  • 参数化查询:允许使用占位符(%s)进行参数化SQL查询,有效防止SQL注入攻击。
  • 多结果集:对于支持多结果集的MySQL命令,如存储过程,pymysql也能够正确处理。

基本用法步骤:

  • 安装pymysql(通常使用pip install pymysql)
  • 创建数据库连接
  • 创建游标对象并执行SQL语句
  • 处理查询结果
  • 提交或回滚事务
  • 关闭游标和数据库连接

以下使用PyMysql增删改查Mysql数据库

创建数据库

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

连接MySql数据库

import pymysql

# 连接MySQL数据库
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

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

查询数据(SELECT)

import pymysql

# 连接MySQL数据库
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")
# 创建一个游标对象cursor
cursor = db.cursor()
try:
    sql = "SELECT * FROM users WHERE username = %s"
    val = ("test_user",)
    cursor.execute(sql, val)
    results = cursor.fetchall()
    for row in results:
        print(f"ID: {row[0]}, Username: {row[1]}, Email: {row[2]}, Password: {row[3]}")
except Exception as e:
    print(f"查询数据失败: {e}")

插入数据(INSERT)

import pymysql

# 连接MySQL数据库
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 创建一个游标对象cursor
cursor = db.cursor()
# 插入数据(INSERT)
try:
    sql = "INSERT INTO users (username, email, password) VALUES (%s, %s, %s)"
    val = ("test_user", "test@example.com", "test_password")
    cursor.execute(sql, val)
    db.commit()
    print("插入数据成功")
except Exception as e:
    db.rollback()  # 发生错误时回滚
    print(f"插入数据失败: {e}")

更新数据(UPDATE)

import pymysql

# 连接MySQL数据库
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 创建一个游标对象cursor
cursor = db.cursor()
try:
    sql = "UPDATE users SET email = %s WHERE username = %s"
    val = ("new_email@example.com", "test_user")
    cursor.execute(sql, val)
    db.commit()
    print("更新数据成功")
except Exception as e:
    db.rollback()
    print(f"更新数据失败: {e}")

删除数据(DELETE)

import pymysql

# 连接MySQL数据库
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 创建一个游标对象cursor
cursor = db.cursor()
try:
    sql = "DELETE FROM users WHERE username = %s"
    val = ("test_user",)
    cursor.execute(sql, val)
    db.commit()
    print("删除数据成功")
except Exception as e:
    db.rollback()
    print(f"删除数据失败: {e}")

关闭连接

cursor.close()
db.close()

请确保将上述代码中的"your_username", “your_password”, "your_database"替换为你的实际数据库用户名、密码和数据库名。

到此这篇关于Python使用PyMySql增删改查Mysql数据库的实现的文章就介绍到这了,更多相关PyMySql增删改查Mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现将m3u8视频转换成mp4的操作步骤

    python实现将m3u8视频转换成mp4的操作步骤

    m3u8 是一种基于文本的媒体播放列表文件格式,通常用于指定流媒体播放器播放在线媒体流,MP4是一种基于MPEG-4 Part 12(2015)和MPEG-4 Part 14标准的数字多媒体容器格式,本文将给大家介绍python实现将m3u8视频转换成mp4的操作步骤,需要的朋友可以参考下
    2024-05-05
  • Django调用百度AI接口实现人脸注册登录代码实例

    Django调用百度AI接口实现人脸注册登录代码实例

    这篇文章主要介绍了Django调用百度AI接口实现人脸注册登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python的mysqldb安装步骤详解

    python的mysqldb安装步骤详解

    这篇文章主要介绍了python的mysqldb安装步骤详解的相关资料,这里提供实现的具体步骤,需要的朋友可以参考下
    2017-08-08
  • Python自动化之UnitTest框架实战记录

    Python自动化之UnitTest框架实战记录

    这篇文章主要给大家介绍了关于Python自动化之UnitTest框架实战的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python实现TOTP动态验证码和二维码生成的示例代码

    Python实现TOTP动态验证码和二维码生成的示例代码

    在现代安全场景中,TOTP是一种广泛使用的双因素认证(2FA)机制,本文将介绍如何使用 Python 的 pyotp 和 qrcode 库来实现动态验证码的生成、验证以及二维码的创建,希望对大家有所帮助
    2026-03-03
  • python字典中items()函数用法实例

    python字典中items()函数用法实例

    Python字典items()函数作用以列表返回可遍历的(键, 值)元组数组,下面这篇文章主要给大家介绍了关于python字典中items()函数用法的相关资料,需要的朋友可以参考下
    2022-11-11
  • python将多个py文件和其他文件打包为exe可执行文件

    python将多个py文件和其他文件打包为exe可执行文件

    这篇文章主要介绍了python将多个py文件和其他文件打包为exe可执行文件,通过准备要打包的工程文件展开详情,需要的小伙伴可以参考一下
    2022-05-05
  • 使用豆瓣提供的国内pypi源

    使用豆瓣提供的国内pypi源

    PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。
    2017-07-07
  • 调整Jupyter notebook的启动目录操作

    调整Jupyter notebook的启动目录操作

    这篇文章主要介绍了调整Jupyter notebook的启动目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python控制Firefox方法总结

    Python控制Firefox方法总结

    在本文里我们给大家分享了关于如何用Python控制Firefox的知识点总结,有此需要的朋友们可以参阅下。
    2019-06-06

最新评论