pymysql实现增删改查的操作指南(python)

yizhihongxing

pymysql实现增删改查的操作指南

什么是pymysql

PyMySQL 是在 Python 3.x 版本中用于连接 MySQL 服务器的一个库,语言上几乎与 Python 自带的 mysql 连接库 MySQLdb 基本一致。PyMySQL 使用纯 Python 实现,它不需要编译就能够安装到 Python 解释器中。

安装PyMySQL

使用 pip 安装 PyMySQL

pip install pymysql

连接MySQL数据库

首先,我们需要使用 connect 函数来连接到 MySQL 数据库。

import pymysql

# 打开数据库连接
db = pymysql.connect("127.0.0.1", "root", "password", "testdb")

当然,这里需要替换成自己的数据库 IP 地址、用户名、密码、数据库名等信息。

执行SQL语句

使用 cursor 对象来执行 SQL 语句。

cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print("Database version : %s " % data)

查询数据

查询单条数据

使用 fetchone() 方法查询单条数据。

sql = "SELECT * FROM users WHERE id = %s"
cursor.execute(sql, ("1",))
data = cursor.fetchone()
print(data)

查询多条数据

使用 fetchall() 方法查询多条数据。

sql = "SELECT * FROM users WHERE age > %s"
cursor.execute(sql, ("20",))
data = cursor.fetchall()
for row in data:
    print(row)

插入数据

sql = "INSERT INTO users (`name`, `age`) VALUES (%s, %s)"
values = ("Peter", "28")
cursor.execute(sql, values)
db.commit()

需要注意的是,插入数据之后需要调用 commit() 方法提交到数据库中。

更新数据

sql = "UPDATE users SET name = %s WHERE id = %s"
values = ("Peter Parker", "1")
cursor.execute(sql, values)
db.commit()

同样,更新数据之后也需要调用 commit() 方法提交到数据库中。

删除数据

sql = "DELETE FROM users WHERE id = %s"
cursor.execute(sql, ("1",))
db.commit()

删除数据同样需要调用 commit() 方法提交到数据库中。

示例说明

示例1:查询数据库中的所有数据

import pymysql

db = pymysql.connect("127.0.0.1", "root", "password", "testdb")
cursor = db.cursor()
sql = "SELECT * FROM users"
cursor.execute(sql)
data = cursor.fetchall()
for row in data:
    print(row)

示例2:批量插入数据

import pymysql

db = pymysql.connect("127.0.0.1", "root", "password", "testdb")
cursor = db.cursor()
sql = "INSERT INTO users (`name`, `age`) VALUES (%s, %s)"
values = [("Tom", "22"), ("Jerry", "19"), ("Lucy", "21")]
cursor.executemany(sql, values)
db.commit()

注意,批量插入使用 executemany() 方法,并将多个数据值传入 values 参数中。同时,最后也需要调用 commit() 方法提交到数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pymysql实现增删改查的操作指南(python) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 设计性能更优MySQL数据库schema

    设计性能更优MySQL数据库schema攻略 设计一个性能更优的MySQL数据库schema可以提高数据库的查询效率,减少资源消耗,提升用户体验。下面是一些指导原则和例子: 消除不必要的JOINs JOIN是一个非常耗费资源的操作,需要多次扫描不同的表,因此应尽可能消除不必要的JOINs。 示例1 假设我们有两个表:用户表和订单表。 用户表: id name…

    database 2023年5月19日
    00
  • Cassandra 和 IBM Db2 的区别

    Cassandra和IBM Db2是两种不同类型的数据库管理系统,各自有着不同的优点和适用场景。 Cassandra vs. IBM Db2: 概述 Cassandra是一个开源的分布式NoSQL数据库,适用于海量数据的存储和处理,具有高可扩展性和高可靠性。它支持面向列的数据模型,可以提供快速的读写速度,并且可以在多个数据中心之间进行数据同步,以保证高可用性…

    database 2023年3月27日
    00
  • IP连接SQL SERVER失败(配置为字符串失败)图文解决方法

    下面是详细讲解“IP连接SQL SERVER失败(配置为字符串失败)图文解决方法”的完整攻略。 问题描述 在使用 SQL SERVER 的过程中,有时会出现无法通过 IP 连接 SQL SERVER 的情况,而这种情况可能是因为配置为字符串失败导致的。 解决方法 要解决这个问题,我们需要进行以下几个步骤: 1. 修改 SQL SERVER 配置文件 首先,我…

    database 2023年5月21日
    00
  • 解决redis服务启动失败的问题

    以下是解决Redis服务启动失败的步骤: 确认错误信息 首先,需要确认Redis启动失败的错误信息。可以在启动命令行中找到错误信息,或者查看Redis的日志文件来确认错误原因。通常的错误信息包括以下几种类型: 端口被占用 配置文件错误 Redis二进制文件损坏 内存不足 检查端口 如果Redis启动失败的原因是端口被占用,可以通过手动关闭被占用的端口或者更改…

    database 2023年5月22日
    00
  • suse11安装mysql5.7

    下载地址http://mirrors.sohu.com/mysql/MySQL-5.7/ 1、     wget -c  http://mirrors.sohu.com/mysql/MySQL-5.7/MySQL-server-5.7.23-1.sles11.x86_64.rpm             wget -c  http://mirrors.soh…

    MySQL 2023年4月13日
    00
  • mysql登录报错提示:ERROR 1045 (28000)的解决方法

    当我们使用MySQL登录数据库时,有时候会遇到“ERROR 1045 (28000)”类似的错误提示。这种错误通常是由于用户无权访问或输入的密码不正确所导致的。接下来,我们将详细介绍如何解决这个问题。 1. 检查用户名和密码 首先,我们需要确认输入的用户名和密码是否正确,有些情况下,由于系统默认安装MySQL没有任何密码的限制,但是在使用MySQL管理工具或…

    database 2023年5月18日
    00
  • 【Redis场景3】缓存穿透、击穿问题

    【Redis场景3】缓存穿透、击穿问题,涉及缓存穿透、缓存击穿问题的原因分析及解决方案,并进行压测实践;每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 场景问题及原因 缓存穿透: 原因:客户端请求的数据在缓存和数据库中不存在,这样缓存永远不会生效,请求全部打入数据库,造成数据库连接异常。 解决思路: 缓存空对象 对于不存…

    Redis 2023年4月10日
    00
  • Mysql DateTime 查询问题解析

    那我就来给大家详细讲解一下“Mysql DateTime 查询问题解析”的完整攻略。 问题描述 在使用 Mysql 数据库时,我们经常需要查询某个时间段内的数据,例如查询某天或某个月的数据。而 Mysql 中时间类型存储的是 DateTime,它会包括时分秒,因此在查询时需要注意一些问题。 问题解析 1. 查询某个日期 如果要查询某个具体日期的数据,可以使用…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部