Python数据库编程之pymysql详解

yizhihongxing

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日

相关文章

  • IBM云计算参考架构2.0介绍和体系架构概述 – 果果(苹果和因果)

    IBM云计算参考架构2.0介绍和体系架构概述 Introduction and Architecture Overview IBM Cloud Computing Reference Architecture 2.0 IBM云计算参考架构2.0介绍和体系架构概述 Authors: Michael Behrendt Bernard Glasner Petra …

    云计算 2023年4月12日
    00
  • 云计算灾备原理与预防恢复方案

    云计算灾备原理与预防恢复方案 一、灾备的定义 1.1 什么是灾备? 1.2 备份和容灾的概念 1.2.1 备份 1.2.2 容灾 1.2.3 两者区别 1.2.4 两者关系 1.3 灾备提供的保护    二、灾备的作用 2.1 存在的问题 2.1.1 数据中心存在的问题 2.1.2 没有灾备会怎么样? 2.2 备份的作用 2.2.1 存储层面 2.2.2 云…

    云计算 2023年4月11日
    00
  • 关于磁盘冗余阵列、热备、群集、负载均衡、云计算、F5、Nginx等的概念和基本原理

    在系统部署实施过程中,客户往往会关注系统的可用性方面的指标。 对于一个具备高可用性的系统来说, 多机部署方案是必不可少的。 我们这个知识分享,就从多个不同层面来介绍多机部署方案。 ——————–   F5 big-ip的网络部署示意图    

    云计算 2023年4月13日
    00
  • 大数据与云计算结合会有什么样的结果

      生活中每天都会有大量的数据产生,有这么的多的数据到底有什么用呢?大数据时代,大数据和云计算的深度结合将有更多的新技术,新产品的出现。   大数据与云计算结合会有什么样的结果   大数据经典应用场景:无人机   现代社会,无人机已经是一项高科技的发明了。以前战争时代,打仗用的武器装备都是需要人来操控的。在现在这个时代,无人机是一个特别典型的创新。今天有了大…

    2023年4月9日
    00
  • 数据中心将会消亡?分析师的云计算预测不这么认为

    如今,公共云的市场增长仍在持续。而根据媒体的报道,企业数据中心的待售数量比以往任何时候都要多。那么,人们真的正在目睹数据中心的消亡吗?也许不是。 图源:图虫创意 数据中心正在消亡报告被夸大 随着越来越多的企业将工作负载转移到公共云中,可能会寻求出售他们的企业数据中心,而售后回租市场的激增则是一个很好的指标,即使是老旧的数据中心仍然具有价值。这个市场中的买家是…

    云计算 2023年4月13日
    00
  • ASP.NET WebAPI导入CSV

    下面是ASP.NET WebAPI导入CSV的完整攻略,包含以下内容: 准备工作 创建ASP.NET WebAPI应用程序 导入CSV数据文件 编写CSV导入API接口 验证CSV导入API接口 示例说明 1. 准备工作 在开始本文的操作之前,您需要首先安装以下软件: Visual Studio 2017 或更高版本 ASP.NET WebAPI 和 Ent…

    云计算 2023年5月17日
    00
  • 数据库性能优化一:数据库自身优化提升性能

    针对“数据库性能优化一:数据库自身优化提升性能”的话题,以下是我为你分享的完整攻略: 1. 初步分析数据库性能问题 在进行数据库性能优化之前,我们需要先对数据库进行初步的分析和调查,确定性能问题的瓶颈所在。可以从以下几方面入手: 查询慢:分析慢查询日志,找出频繁出现的查询,查看执行计划,确定是否需要索引优化或者改写SQL语句等; 连接数过多:查看数据库连接数…

    云计算 2023年5月18日
    00
  • 总结分析python数据化运营关联规则

    下面是“总结分析python数据化运营关联规则”的完整攻略。 1. 背景介绍 在数据化运营中,关联规则分析是一种非常重要的技术。理解和应用关联规则分析可以提供有关消费者行为和偏好的深入见解,包括他们购买的产品以及这些产品之间关系的性质。本攻略将介绍如何使用Python进行数据化运营中的关联规则分析。 2. 数据预处理 在使用关联规则分析之前,需要对数据进行清…

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