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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Django + Uwsgi + Nginx 实现生产环境部署的方法
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。这篇文章主要介绍了Django + Uwsgi + Nginx 实现生产环境部署,感兴趣的小伙伴们可以参考一下2018-06-06
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
这篇文章主要介绍了python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-06-06
Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)
在我们对数据进行选择之后,需要对特定的数据进行设置更改,设置,下面这篇文章主要给大家介绍了关于Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-01-01
使用 prometheus python 库编写自定义指标的方法(完整代码)
这篇文章主要介绍了使用 prometheus python 库编写自定义指标的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06


最新评论