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日

相关文章

  • 一波低价日本VPS主机乱谈与推荐

    一波低价日本VPS主机乱谈与推荐 低价VPS主机的优缺点 低价VPS主机的优点:价格便宜,适合个人或小型团队使用,可以自己搭建网站或者进行二次开发。低价VPS主机的缺点:配置不高,硬件资源较少,安全性不高,维护需要自己解决等问题。 日本VPS主机的特点 日本VPS主机的特点:地理位置相对中国来说比较近,一般有千兆网络,可以适应对速度有比较高要求的用户。 推荐…

    云计算 2023年5月17日
    00
  • ASP.NET MVC的Localization本地化多语言支持

    ASP.NET MVC是一个非常流行的Web开发框架,它为应用程序的开发提供了很好的支持。Localization(本地化)是一个极其重要的功能,可以让应用程序在不同的语言环境下运行。本文将详细讲解如何在ASP.NET MVC框架中实现Localization多语言支持。 创建多语言资源文件 Localization的第一步是创建多语言资源文件(Resour…

    云计算 2023年5月17日
    00
  • 4 云计算系列之Openstack简介与keystone安装

    preface KVM 是openstack虚拟化的基础, 再介绍了kvm虚拟化技术之后,我们介绍下openstack和如何搭建。 Openstack组件 openstack架构图如下所示 那么我们就拆开上面的图,分别说说下面组件:每个组件都是有特定功能,可谓缺一不可。那么我们就从这些组件娓娓道来: keystone(服务名:认证服务): 为访问openst…

    云计算 2023年4月15日
    00
  • 微软北京.NET俱乐部免费活动(2010年7月18日)–Visual Studio 2010 敏捷开发与云计算Azure

    感谢您对VS2010一直以来的关注和支持。6月26日微软.NET俱乐部邀请到了多位MVP,针对Visual Studio 2010敏捷开发、Web前端开发与广大北京的.NET俱乐部会员进行互动交流,应参会来宾的强烈要求,微软.NET俱乐部以及微软社区精英计划项目组将再组织一次与VS2010敏捷开发和云计算相关的俱乐部线下活动,欢迎广大.NET俱乐部会员参加,…

    2023年4月10日
    00
  • 云计算基础设施持续集成实践

    了解更多知识热点请点击原文链接 研发和传统基础设施交互方式 通常情况下,在开发过程中需要和基础设施打交道,需要在项目中申请开发、测试以及预发生产环境。在IDC时代,我们需要向IT部门申请这些资源,其批准后,我们才能获得这些资源。如果这些资源恰巧不足,我们只能等待购买新的资源或者更换其他资源。 当拿到这些资源之后,需要对开发、测试、预发、生产环境进行四次相同的…

    云计算 2023年4月13日
    00
  • Python数据分析之双色球中蓝红球分析统计示例

    标题 Python数据分析之双色球中蓝红球分析统计示例 简介 本文旨在通过分析双色球的历史数据,展示Python在数据分析方面的应用。主要涉及数据清洗、数据分析、数据可视化等方面的内容,旨在为初学者提供一种较为通俗易懂的Python数据分析思路,同时也提供了一些有趣的发现和分析结果。 数据清洗 首先需要从双色球历史开奖数据中获取本次分析所需的数据。可以从中国…

    云计算 2023年5月18日
    00
  • Asp.net MVC scheduler的实现方法详解

    Asp.net MVC scheduler是一个常用的日程管理工具,它可以帮助用户方便地安排和管理个人或团队的任务和时间安排。下面是Asp.net MVC scheduler的实现方法详解: 1. 安装和配置Asp.net MVC scheduler插件 首先要在Asp.net MVC项目中安装和配置scheduler插件。这个插件可以从官方网站下载,也可以…

    云计算 2023年5月17日
    00
  • 阿里云计算公司总部效果图曝光 | 秦淮数据携手网宿科技缔造IDC新龙头

    每一个企业级的人  都置顶了 中国软件网 中国软件网  为你带来最新鲜的行业干货 小编点评 办公楼就像是一个企业的标志 小编在KPI完成不了的时候 就喜欢眺望一下远方的办公楼 点点星火 据说最近阿里又要建新办公楼啦 小编可以眺望的楼 马上又可以多一座啦! 星星眼期待中 ——来自喜欢看办公楼的小编 趋势洞察 贺建楠:加密将成为中国企业数据安全的标配 东进技术总…

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