Python操作MySQL数据库的示例代码

下面是使用Python操作MySQL数据库的示例代码的完整攻略。

准备工作

在Python中操作MySQL数据库,需要先安装MySQL数据库驱动程序。常用的有两个库:pymysqlmysql-connector-python。这里以pymysql为例,安装命令如下:

pip install pymysql

连接MySQL数据库

首先,需要使用Python代码连接到MySQL数据库。示例代码如下:

import pymysql

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

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 获取一条数据库版本信息
data = cursor.fetchone()

print("Database version : %s " % data)

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

其中,db = pymysql.connect()方法用于连接到数据库,需要传递参数hostuserpassworddatabase分别表示数据库的主机地址、用户名、密码和数据库名称。cursor()方法创建一个游标对象,用于执行SQL语句。execute()方法用于执行SQL查询语句,fetchone()方法用于返回一条记录。最后需要用close()方法关闭数据库连接。

执行SQL语句

连接到数据库之后,就可以执行SQL语句了。示例代码如下:

import pymysql

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

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 执行 SQL 查询
cursor.execute("SELECT * FROM students")

# 获取所有记录列表
results = cursor.fetchall()
for row in results:
    sid = row[0]
    name = row[1]
    age = row[2]
    sex = row[3]
    print("id=%d,name=%s,age=%d,sex=%s" % (sid, name, age, sex))

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

以上代码实现了从MySQL数据库中查询表students的所有记录,并输出记录中的字段值。

添加、修改、删除记录

除了查询记录之外,还可以使用Python操作MySQL数据库实现添加、修改和删除记录。示例代码如下:

import pymysql

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

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 添加记录
sql = "INSERT INTO students(name,age,sex) VALUES('%s','%d','%s')" % ('Tom', 18, 'M')
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交操作
    db.commit()
    print("Add record success.")
except Exception as e:
    # 发生错误时回滚
    db.rollback()
    print("Add record failed. Error: %s" % str(e))

# 修改记录
sql = "UPDATE students SET age='%d' WHERE name='%s'" % (20, 'Tom')
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交操作
    db.commit()
    print("Update record success.")
except Exception as e:
    # 发生错误时回滚
    db.rollback()
    print("Update record failed. Error: %s" % str(e))

# 删除记录
sql = "DELETE FROM students WHERE name='%s'" % ('Tom')
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交操作
    db.commit()
    print("Delete record success.")
except Exception as e:
    # 发生错误时回滚
    db.rollback()
    print("Delete record failed. Error: %s" % str(e))

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

以上代码实现了往表students中添加一条记录,修改nameTom的记录的age字段为20,删除nameTom的记录。其中,execute()方法用于执行SQL语句,commit()方法用于提交操作,rollback()方法用于回滚操作。添加、修改、删除记录都需要执行相应的SQL语句,并在执行完成之后提交或回滚操作。

以上就是Python操作MySQL数据库的示例代码的完整攻略。

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

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

相关文章

  • Linux下二进制方式安装mysql5.7版本和系统优化的步骤

    安装MySQL 5.7版本并进行系统优化的步骤如下: 步骤一:准备工作 下载MySQL 5.7安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 解压安装包 rpm -ivh mysql57-community-release-el7-11.noarch…

    database 2023年5月22日
    00
  • Oracle 错误日志表及异常处理包详解 附源码

    让我详细讲解一下“Oracle 错误日志表及异常处理包详解 附源码”的完整攻略。 标题 什么是错误日志表及异常处理包? 在Oracle数据库中,错误日志表和异常处理包是管理和记录数据库出现异常和错误的重要工具。错误日志表可以记录数据库中出现的错误信息,并允许用户通过查询该表来分析和解决这些错误。异常处理包则提供了一系列的异常处理程序,它们可以在发生错误时自动…

    database 2023年5月21日
    00
  • 详解PHP中的PDO类

    详解PHP中的PDO类 简介 PDO(PHP Data Object)是PHP中的一个数据库抽象层,提供了面向对象的操作数据库的方式,可以支持多种数据库。PDO类是PHP对数据库进行操作的一个核心类。 PDO类的初始化 使用PDO时需要先初始化,初始化后可以操作数据库。PDO的初始化需要指定数据库类型、主机(或IP地址)、数据库名、用户名、密码。下面是一个示…

    database 2023年5月21日
    00
  • Clion(CMake工具)中引入第三方库的详细方法

    在Clion中引入第三方库的具体步骤如下: 1. 下载第三方库 我们需要先从第三方库的官网或仓库中下载相关的源代码,并将其放在项目指定的路径下。 以下是两个示例: 示例一:引入Gtest 我们可以从Gtest的官网(https://github.com/google/googletest)中下载源代码。假设我们将其下载并解压缩在项目的根目录下,文件夹名为gt…

    database 2023年5月22日
    00
  • MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    让我来详细讲解一下MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法。 TIMESTAMPDIFF函数 语法: TIMESTAMPDIFF(unit, datetime1, datetime2) 其中,unit表示时间单位,datetime1和datetime2分别表示两个时间。函数的返回值表示两个时间之间的差值。 参数解释: unit…

    database 2023年5月22日
    00
  • SQL使用复合索引实现数据库查询的优化

    SQL使用复合索引实现数据库查询的优化是非常重要的技能之一。下面我将为您介绍一些关于如何使用复合索引来优化数据库查询的攻略。 什么是复合索引 复合索引也被称为多列索引,它是指在数据库表中多个列上创建的单个索引。对于复合索引,它们可以基于多个列来筛选数据,这使得可以通过单个查询操作来快速定位和访问数据,而无需对整个数据表进行遍历。 如何创建复合索引 下面是创建…

    database 2023年5月19日
    00
  • MySQL时间类型和模式详情

    MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。 时间类型 MySQL支持六种时间类型,分别是: DATE:日期类型,格式为YYYY-MM-DD,用于存储日期数据。 TIME:时间类型,格式为HH:MM:SS,用于存储时间数据。 DATETIME:日期时间类型,格式…

    database 2023年5月18日
    00
  • Centos7 安装 redis4.x

    一、安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz -…

    Redis 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部