Python数据库编程之pymysql详解

Python数据库编程之pymysql详解

什么是pymysql

pymysql是Python语言上的一个Mysql数据库接口,它遵循Python数据库API v2.0规范,使用方式与Python内置的sqlite3、PostgreSQL数据库上的psycopg2等类似。pymysql具有易用性、模块化、线程安全和SQL注入安全等优点,在使用Python进行MySQL数据库编程时,是一个非常好的选择。

安装pymysql

在使用pymysql进行数据库编程之前,我们需要先安装它。安装方法如下:

pip install pymysql

连接MySQL

pymysql通过connect()方法连接到MySQL数据库。connect()方法的参数包括host、port、user、password、database等。示例代码如下:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute()方法执行SQL查询
cursor.execute("SELECT VERSION()")

# 使用fetchone()方法获取单条数据
data = cursor.fetchone()
print("Database version : %s " % data)

# 关闭数据库连接
db.close()

注:该示例代码假设存在一个名为testdb的MySQL数据库

CRUD操作

CRUD(Create、Retrieve、Update、Delete)是数据库操作中最基本的四种操作。在pymysql中,进行CRUD操作的方法包括execute()、executemany()、fetchone()、fetchall()、fetchmany()、commit()等。示例代码如下:

创建数据

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL语句
sql = "INSERT INTO employee(name, age, sex, income) VALUES('%s', '%d', '%c', '%d')" % ('Tom', 23, 'M', 5000)

try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交修改
   db.commit()
   print("数据插入成功")
except:
   # 发生错误时回滚
   db.rollback()
   print("数据插入失败")

# 关闭数据库连接
db.close()

查询数据

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL语句
sql = "SELECT * FROM employee WHERE income > '%d'" % (1000)

try:
   # 执行SQL语句
    cursor.execute(sql)
   # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        name = row[0]
        age = row[1]
        sex = row[2]
        income = row[3]
        # 打印结果
        print("Name=%s,Age=%d,Sex=%s,Income=%d" % (name, age, sex, income))
except:
    print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

更新数据

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL语句
sql = "UPDATE employee SET age = age + 1 WHERE sex = '%c'" % ('M')

try:
   # 执行SQL语句
    cursor.execute(sql)
   # 提交修改
    db.commit()
    print("数据更新成功")
except:
    # 发生错误时回滚
    db.rollback()
    print("数据更新失败")

# 关闭数据库连接
db.close()

删除数据

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL语句
sql = "DELETE FROM employee WHERE income > '%d'" % (1000)

try:
   # 执行SQL语句
    cursor.execute(sql)
   # 提交修改
    db.commit()
    print("数据删除成功")
except:
    # 发生错误时回滚
    db.rollback()
    print("数据删除失败")

# 关闭数据库连接
db.close()

以上就是基本的pymysql操作,读者可以根据需求进行进一步的学习和实践。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据库编程之pymysql详解 - Python技术站

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

相关文章

  • ECharts鼠标事件的处理方法详解

    ECharts鼠标事件的处理方法详解 ECharts是一款基于JavaScript的开源可视化库,它提供了丰富的图表类型和交互功能,可以帮助开发者快速构建交互式的数据可视化应用。其中,鼠标事件是ECharts中常用的交互方式之一,本文将详细介绍ECharts鼠标事件的处理方法。 ECharts鼠标事件类型 ECharts提供了多种鼠标事件类型,包括: cli…

    云计算 2023年5月16日
    00
  • asp.net连接数据库 增加,修改,删除,查询代码

    在 ASP.NET 中,我们可以使用 ADO.NET 来连接数据库,并实现增加、修改、删除、查询等操作。本文将深入浅析 ASP.NET 连接数据库的方法,包括连接字符串的设置、增加、修改、删除、查询等操作的代码实现,以及两个示例说明。 连接字符串的设置 在 ASP.NET 中,我们需要设置连接字符串来连接数据库。连接字符串包含了连接数据库所需的信息,例如数据…

    云计算 2023年5月16日
    00
  • Python操作数据库之数据库编程接口

    Python操作数据库需要使用到相应的数据库编程接口。常用的数据库编程接口有Python标准库提供的DB-API和第三方库提供的API。这里我们重点讲解如何使用Python标准库提供的DB-API进行操作数据库的步骤。 步骤一:安装对应的数据库模块 要使用Python操作数据库,首先需要安装相应的数据库模块。常见的数据库模块有: sqlite3 MySQLd…

    云计算 2023年5月18日
    00
  • 美团网技术团队分享的MySQL索引及慢查询优化教程

    以下是“美团网技术团队分享的MySQL索引及慢查询优化教程”的完整攻略: 索引 1. 索引的作用是什么? 索引是数据库中一种提高查询效率的数据结构。通过使用索引,可以快速定位到需要查询的数据,避免了全表扫描,提高了查询效率。 2. 索引有哪些类型? 常见的索引类型有B树索引、哈希索引和全文索引。 B树索引是一种常用的索引类型,适用于查询次数较多,但写入次数相…

    云计算 2023年5月18日
    00
  • 云计算的背水一战!核心技术决定未来! – 金色小蜜蜂

    云计算的背水一战!核心技术决定未来!   云计算的背水一战!核心技术决定未来!   最近国内各IT巨头技术布局都颇有看点,先是腾讯宣布将投入5000亿,用于新基建的进一步布局(将重点投入云计算、人工智能、区块链、服务器、大型数据中心等技术);阿里再投2000亿入新基建,并成立XG实验室,正式入局5G领域;华为发布企业级AI应用开发套件ModelArt Pro…

    云计算 2023年4月13日
    00
  • 安全狗云中心客户端使用教程 让您安全无忧

    安全狗云中心客户端使用教程 安全狗云中心客户端是一款用于保护服务器安全的软件,可以实现实时监控、防火墙、入侵检测等功能。本文将详细介绍安全狗云中心客户端的使用教程,包括安装、配置和使用等方面。 1. 安装安全狗云中心客户端 安全狗云中心客户端支持多种操作系统,包括Windows、Linux、Mac等。用户可以根据自己的需求选择相应的版本进行安装。 Windo…

    云计算 2023年5月16日
    00
  • 「深圳云栖大会」大数据时代以及人工智能推动下的阿里云异构计算

    为什么80%的码农都做不了架构师?>>>    摘要: 最近几年,在大数据和人工智能的推动下,异构计算有了长足的发展。无论是在产品形态上,还是在应用领域上,阿里云异构计算都取得了累累硕果。 最近几年,在大数据和人工智能的推动下,异构计算有了长足的发展。无论是在产品形态上,还是在应用领域上,阿里云异构计算都取得了累累硕果。 3月29日上午,深…

    云计算 2023年4月13日
    00
  • 云环境自动化(Terraform+Ansible)

    应用的自动化部署由来已久,也有很多知名的工具,比如puppet,ansible,saltstack,chef等等。但是对于基础设施部分,一般都是以事先准备的方式来提供的。 虽然各大云服务器厂商也逐步提供了各类的API,用来控制自己的基础设施,但是,由于各类厂商的差异性,API差异很大且没有统一分类标准,兼容各个云环境的难度非常大。 不过,随着Terrafor…

    云计算 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部