Python pymysql模块详解

一、连接数据库

Python pymysql模块是连接和操作MySQL数据库的一种方法。在使用pymysql模块前,我们需要先安装pymysql这个库。

我们可以通过以下方式来安装pymysql库:

pip install pymysql

在连接MySQL数据库之前,我们需要先建立一个数据库。以下示例演示如何建立一个名为testdb的数据库:

import pymysql
conn=pymysql.connect(host='localhost', port=3306, user='root',password='yourpassword',charset='utf8')
cursor=conn.cursor()
cursor.execute("create database testdb")
conn.close()

在成功连接到MySQL服务器之后,我们可以在conn.cursor()上调用.execute()方法来向MySQL服务器发送任意SQL语句。例如,可以使用以下代码显示所有数据库:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
cursor.execute("SHOW DATABASES")
for x in cursor:
    print(x)
conn.close()

以上示例中,我们使用了conn.cursor()对象的execute()方法发送SQL语句来查询数据库。在查询完毕之后,我们需要通过conn.close()方法关闭数据库连接。

二、创建数据表

在MySQL中,数据由表组成。一个表包含记录和字段。在Python和pymysql中,我们可以使用CREATE TABLE语句来创建一个新的表。

以下示例演示如何创建一个名为person的表,其中包含id、name和age三个字段:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
sql = "CREATE TABLE person (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, age INT(3))"
cursor.execute(sql)
conn.close()

在创建表之后,我们可以使用以下命令来查看表的结构:

DESCRIBE person;

三、插入数据

使用INSERT INTO语句向表中插入数据。INSERT INTO语句将带有数据的字段列和值列表组合起来,然后将它们插入到表中。

以下示例演示如何向名为person的表中插入一条数据:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
sql = "INSERT INTO person (name, age) VALUES (%s, %s)"
val = ("Mike", 25)
cursor.execute(sql, val)
conn.commit()
conn.close()

以上代码使用了参数绑定将插入的值传入到insert语句中,这种方式可以有效的避免SQL注入攻击。

四、查询数据

使用SELECT语句从表中检索数据。SELECT语句使用列名清单来指定要从表中检索的数据。可以使用WHERE子句来指定过滤条件。

以下示例演示如何从名为person的表中检索数据:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
sql = "SELECT * FROM person WHERE age > %s"
vals = (20,)
cursor.execute(sql, vals)
result = cursor.fetchall()
for row in result:
    id = row[0]
    name = row[1]
    age = row[2]
    print(f"id={id}, name={name}, age={age}")
conn.close()

以上代码展示如何使用SELECT语句从名为person的表中检索符合条件的数据,并通过fetchall()方法来获取所有记录。

五、更新数据

使用UPDATE语句来更新表中的数据。UPDATE语句使用SET子句来指定要更新的列及其新值,并使用WHERE子句来指定过滤条件。

以下示例展示如何更新名为person的表中一个指定id的记录的数据:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
sql = "UPDATE person SET age = %s WHERE id = %s"
vals = (26, 1)
cursor.execute(sql, vals)
conn.commit()
conn.close()

以上代码展示如何使用UPDATE语句来更新名为person的表中指定id的记录的年龄值。

六、删除数据

使用DELETE语句从表中删除数据。DELETE语句使用WHERE子句来指定要删除的记录。如果省略WHERE子句,将会删除表中的所有记录!

以下示例展示如何从名为person的表中删除id为1的一条记录:

conn = pymysql.connect(host='localhost', port=3306, user='root', password='yourpassword', db='testdb', charset='utf8')
cursor = conn.cursor()
sql = "DELETE FROM person WHERE id = %s"
vals = (1,)
cursor.execute(sql, vals)
conn.commit()
conn.close()

以上代码展示如何使用DELETE语句从名为person的表中删除id为1的一条记录。

原创文章,作者:JMUJY,如若转载,请注明出处:https://www.506064.com/n/330441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JMUJYJMUJY
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论