Python操作MySQL数据库9个实用实例

下面是详细讲解“Python操作MySQL数据库9个实用实例”的完整攻略:

Python操作MySQL数据库9个实用实例

MySQL是目前应用最广泛的开源关系型数据库管理系统之一,而Python是一种极其流行的编程语言,它提供了许多用于操作MySQL数据库的库和工具,本文将介绍Python操作MySQL数据库的9个实用实例。

实例1:连接MySQL数据库

在进行MySQL数据库操作前,我们需要建立连接,这里介绍使用Python中的mysql-connector库连接MySQL数据库的方法。首先安装mysql-connector库:

pip install mysql-connector

然后创建连接:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 打印连接对象
print(mydb)

实例2:创建数据库和数据表

我们可以使用Python操作MySQL数据库来创建数据库和数据表,如下所示:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password"
)

# 创建数据库
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")

# 创建数据表
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

实例3:插入数据

我们来实现向数据表中插入数据的操作:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 插入数据
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()

print(mycursor.rowcount, "record inserted.")

实例4:查询数据

通过Python操作MySQL数据库,我们可以查询数据表中的数据:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 查询数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

实例5:更新数据

使用Python更新MySQL数据库的操作如下所示:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 更新数据
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")

实例6:删除数据

使用Python删除MySQL数据库的操作如下所示:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 删除数据
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")

实例7:插入多条记录

使用Python向MySQL数据库插入多条数据的操作如下所示:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 插入多条数据
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('Peter', 'Lowstreet 4'),
  ('Amy', 'Apple st 652'),
  ('Hannah', 'Mountain 21'),
  ('Michael', 'Valley 345'),
  ('Sandy', 'Ocean blvd 2'),
  ('Betty', 'Green Grass 1'),
  ('Richard', 'Sky st 331'),
  ('Susan', 'One way 98'),
  ('Vicky', 'Yellow Garden 2'),
  ('Ben', 'Park Lane 38'),
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()

print(mycursor.rowcount, "was inserted.")

实例8:使用预处理语句

Python操作MySQL数据库还支持使用预处理语句:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 使用预处理语句
mycursor = mydb.cursor(prepared=True)
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")

实例9:使用事务

使用Python操作MySQL数据库时还可以使用事务:

import mysql.connector

# 建立连接
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="password",
  database="mydatabase"
)

# 使用事务
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.rollback()

print(mycursor.rowcount, "record(s) affected")

以上就是Python操作MySQL数据库9个实用实例的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作MySQL数据库9个实用实例 - Python技术站

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

相关文章

  • Java 基于Spire.Cloud.SDK for Java在PDF中绘制形状

    简介 Spire.Cloud.SDK for Java是一款基于云端的文档处理SDK,可以用于处理各种文档格式,包括PDF、Word、Excel等。在Spire.Cloud.SDK for Java中,可以使用API来绘制各种形状,例如线条、矩形、圆形等。本文将详细讲解如何使用Spire.Cloud.SDK for Java在PDF中绘制形状。 绘制形状 在…

    云计算 2023年5月16日
    00
  • Python绘制专业的K线图 源代码解析

    Python绘制专业的K线图 源代码解析 K线图在股票分析中占据着重要的地位,Python提供了多种绘制K线图的库,其中最为著名的是mpl_finance。本篇文章将介绍mpl_finance库的使用方法,并通过实例演示如何绘制专业的K线图。 1. 安装mpl_finance库 Mpl_finance库是matplotlib的扩展库,需要重新安装matplo…

    云计算 2023年5月18日
    00
  • socket连接关闭问题分析

    Socket连接关闭问题分析是一个比较常见的问题。下面是处理Socket连接关闭问题的完整攻略: 1. 导致Socket连接关闭的原因 网络故障 网络延迟 服务端主动关闭连接 客户端主动关闭连接 2. 处理Socket连接关闭问题的方法 2.1. 使用心跳包检测连接状态 使用心跳包是一种检测连接状态的有效方式。心跳包通常是一个特殊的包,用于定期地确认连接是否…

    云计算 2023年5月18日
    00
  • 云计算与分布式系统PDF下载

    关注微信号,发送消息“云计算与分布式系统”获取下载链接

    2023年4月9日
    00
  • .NET6新特新 struct优化

    .NET 6中的新特性:struct优化 在.NET 6中,对struct类型进行了优化,以提高性能和减少内存占用。以下是一个完整攻略,包括如何使用struct类型、何时使用struct类型以及如何优化struct类型,并提供两个示例说明。 什么是struct类型? 在C#中,struct是一种值类型,它可以存储数据,并且通常比class类型更轻量级。与cl…

    云计算 2023年5月16日
    00
  • 最佳案例 | 游戏知几 AI 助手的云原生容器化之路

    作者 张路,运营开发专家工程师,现负责游戏知几 AI 助手后台架构设计和优化工作。 游戏知几 随着业务不断的拓展,游戏知几AI智能问答机器人业务已经覆盖了自研游戏、二方、海外的多款游戏。游戏知几研发团队主动拥抱云原生,推动后台业务全量上云,服务累计核心1w+。 通过云上的容器化部署、自动扩缩容、健康检查、可观测性等手段,提高了知几项目的持续交付能力和稳定性,…

    2023年4月9日
    00
  • 云计算day05-Docker容器

    目录 1. docker知识点回顾 2. 手动将容器保存为镜像 2.1 手动制作容器步骤 3. 容器搭建_扫雷小游戏 3.1 思路 3.2 具体操作步骤 4. 容器搭建_可道云 5. 容器搭建_phpwind论坛 6. dockerfile自动构建docker镜像 6.1 测试——FROM & RUN 6.2 测试——ADD 6.3 测试——EXPO…

    云计算 2023年4月13日
    00
  • 云图说丨初识华为云安全云脑——新一代云安全运营中心

    本文分享自华为云社区《【云图说】 | 第273期 初识华为云安全云脑——新一代云安全运营中心》,作者:阅识风云。 安全云脑(SecMaster)是华为云原生的新一代云安全运营中心,集华为云三十多年安全经验,基于云原生安全,提供云上资产管理、安全态势管理、安全信息和事件管理、安全编排与自动响应等能力,实现提前预防风险、感知安全事件、安全事件自动化闭环。   点…

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