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

yizhihongxing

下面是使用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日

相关文章

  • alibaba seata服务端具体实现

    下面我将为您详细讲解“alibaba seata服务端具体实现”的完整攻略。 什么是alibaba seata Alibaba Seata是一款开源的分布式事务解决方案,旨在提供高性能和简单易用的分布式事务解决方案,并支持多种数据库以及RPC框架。它也是阿里巴巴全局使用的分布式事务解决方案。 alibaba seata服务端具体实现 1. 下载和安装alib…

    database 2023年5月21日
    00
  • springMVC 缓存(入门 spring+mybaties+redis一)

      使用redis之前需要咋电脑上安装redis;   使用spring+mybaties+redis的本质是扩展类   org.apache.ibatis.cache.Cache;在我们自己扩展的Cache里面使用redis的api; 一:需要引入的依赖: <dependency> <groupId>org.springframew…

    Redis 2023年4月16日
    00
  • Mysql数据库表中为什么有索引却没有提高查询速度

    在Mysql数据库中,索引是一种优化数据库查询速度的重要手段,一般索引可以提高数据库的查询效率,但实际开发中却会出现索引不起作用的情况,下面我将详细讲解为什么会出现这种情况。 一、索引的介绍 首先,我们需要了解一下索引的基本概念。在Mysql数据库中,索引是一种数据结构,用于加快数据的查找速度。在数据库表中,索引由一个或多个值构成,每个值对应表中的一行数据,…

    database 2023年5月22日
    00
  • mysql查询获得两个时间的时间差方式

    要查询获得两个时间的时间差,可以使用MySQL内置的时间函数TIMESTAMPDIFF。下面是使用TIMESTAMPDIFF函数获得时间差的详细攻略: 1. 函数格式 TIMESTAMPDIFF(unit,datetime1,datetime2)是MySQL内置的时间函数,它用于计算两个时间之间的间隔。其中,unit参数指定输出结果的单位(秒,分钟,小时,天…

    database 2023年5月22日
    00
  • sql server2005实现数据库读写分离介绍

    下面是实现SQL Server 2005数据库读写分离的攻略,包括以下内容: 什么是数据库读写分离 数据库读写分离是一种数据库技术,它将数据库的读操作和写操作分别分配到不同的数据库服务器上,这样可以充分发挥多个数据库服务器的计算资源,提高了数据库的并发性能和可靠性。 实现数据库读写分离的步骤 实现数据库读写分离需要以下步骤: 创建两个数据库服务器:一个主服务…

    database 2023年5月19日
    00
  • Linux安装PHP MongoDB驱动

    下面是Linux安装PHP MongoDB驱动的完整攻略: 步骤一:安装pecl工具 sudo apt install php-pear 步骤二:安装MongoDB驱动 sudo pecl install mongodb 步骤三:修改PHP配置文件 在/etc/php/7.x/cli/conf.d目录下新建20-mongodb.ini文件(注意7.x应该写入…

    database 2023年5月22日
    00
  • MySQL常用类型转换函数总结(推荐)

    MySQL常用类型转换函数总结(推荐) 在MySQL中,经常会出现需要对数据类型进行转换的场景。本文总结了MySQL中常用的类型转换函数,详细讲解了它们的用法和示例。 CAST()和CONVERT() 这两个函数用法类似,都是用于将一个数据类型转换为另一个数据类型。区别在于,CAST()是标准的SQL函数,而CONVERT()是MySQL特有的函数。 CAS…

    database 2023年5月22日
    00
  • 直接拷贝数据文件实现Oracle数据迁移

    要实现Oracle数据的迁移,可以采用直接拷贝数据文件的方式。以下是具体的步骤: 1.备份源数据库在迁移前,务必先备份源数据库以防止不必要的风险和数据丢失。 2.停止源数据库的服务在数据迁移时,需要停止源数据库的服务。 3.复制数据文件在停止源数据库服务之后,将数据文件复制到目标服务器的相应位置。Oracle数据库的数据文件一般存储在ORACLE_HOME/…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部