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

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日

相关文章

  • Linux下的 mariadb 使用 root 用户启动方式(推荐)

    下面我将详细讲解“Linux下的 mariadb 使用 root 用户启动方式(推荐)”的完整攻略,包括步骤和示例说明。 1. 确认 mariadb 已经安装 在使用 mariadb 之前,需要确保已经在 Linux 上安装了 mariadb 数据库。使用以下命令来确认 mariadb 是否已经安装: $ rpm -qa | grep mariadb 如果系…

    database 2023年5月22日
    00
  • Tornado路由与Application的实现

    Tornado 是一款快速、可伸缩的 WebSocket 和 HTTP 服务器,也是一个 Python Web 框架。在 Tornado 中,路由是实现 URL 映射的一种必要手段。本文将提供一份 Tornado 路由与 Application 实现的完整攻略。 基础概念 在开始对 Tornado 路由与 Application 进行讲解之前,需要对以下几个…

    database 2023年5月22日
    00
  • SQL Server 2000中的触发器使用

    下面给出SQL Server 2000中的触发器使用的完整攻略。 什么是触发器 触发器是一段程序代码,当满足某个条件时就会被触发执行。在SQL Server 2000数据库中,触发器可以自动执行一系列操作,例如:在表上插入、更新或删除行数据时触发某个程序。触发器可以帮助我们在数据库操作时实现数据的约束和完整性,以及自动化某些操作。 创建触发器 SQL Ser…

    database 2023年5月21日
    00
  • redis’五种格式的存储与展示

    Redis支持持久化只是它的一件武器,另外,它针对不同的需求也提供了多达5种数据存储方式,以最大效率上的实现你的需求,下面分别说一下: 一  string(字符串)   string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富。 二  list(双…

    Redis 2023年4月11日
    00
  • Java 如何通过JDBC 操作数据库

    JDBC 是Java 数据库连接,即 Java DataBase Connectivity。JDBC 可让Java 通过程序操作关系型数据库,可基于驱动程序实现与数据库的连接与操作。JDBC 有统一的API ,提供一致的开发过程。其功能强大,执行效率高,可处理海量数据。 开发准备 在Navicat 中新建一个数据库,注意字符集 的选择,如下图所示: 然后运行…

    MySQL 2023年4月11日
    00
  • Kotlin与Java的区别详解

    下面我将为你详细讲解“Kotlin与Java的区别详解”的完整攻略。 Kotlin与Java的区别详解 一、简介 Kotlin是一种为现代化的基于JVM的移动和Web应用程序而设计的静态类型编程语言。Kotlin编译器将Kotlin代码编译成与Java字节码相同的字节码,所以它可以在JVM上运行,并且与Java很好地集成。Kotlin还具有很多特色的Java…

    database 2023年5月21日
    00
  • Facebook Messenger和Telegram Messenger的区别

    Facebook Messenger和Telegram Messenger都是流行的即时通讯工具,它们有一些共同点,不过也有一些区别。下面我将从几个方面详细讲解它们的区别。 1. 隐私和安全性 Telegram是为隐私而生的,它提供了“加密对话”的选项,使用户可以选择端对端的加密保护。它还提供了一个叫做“加密聊天”的功能,使得用户可以自建群组并对所有消息进行…

    database 2023年3月27日
    00
  • Mysql 日期格式化及复杂日期区间查询

    MySQL 日期格式化是非常常见的数据处理需求,常用于将日期格式化为指定字符串形式,以便于在网页上显示。同时,对于复杂的日期区间查询,也需要使用 MySQL 的日期函数进行处理。下面是详细讲解“Mysql 日期格式化及复杂日期区间查询”的完整攻略。 日期格式化 DATE_FORMAT 函数 DATE_FORMAT 函数可以将日期转换为指定格式的字符串。其语法…

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