如何在Python中使用数据库?

让我来为您详细讲解如何在Python中使用数据库。

一、准备工作

在使用Python操作数据库前,需要安装相应的数据库驱动包。在这里以MySQL数据库为例,可以使用Python的第三方库pymysql来操作MySQL数据库。

安装pymysql可以使用pip工具,在命令行中输入如下命令即可:

pip install pymysql

二、连接到数据库

连接到MySQL数据库需要使用pymysql.connect()函数。函数需要传入主机名、用户名、密码、数据库名称等参数,具体如下:

import pymysql

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

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

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

如上所示,我们可以使用pymysql.connect()打开一个MySQL数据库连接,其中:

  • host参数为数据库主机名,如果是本机数据库,即为localhost
  • user参数为用户名,如果MySQL数据库的用户名为root则使用root
  • password参数为数据库密码;
  • database参数为数据库名称。

三、创建数据表

创建数据表需要使用CREATE TABLE语句,示例如下:

import pymysql

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

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

# 使用 execute() 方法执行 SQL,如果数据表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 使用预处理语句创建数据表
sql = """CREATE TABLE EMPLOYEE (
        FIRST_NAME  CHAR(20) NOT NULL,
        LAST_NAME  CHAR(20),
        AGE INT,
        SEX CHAR(1),
        INCOME FLOAT )"""

cursor.execute(sql)

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

如上所示,创建数据表需要用到execute()方法和SQL语句。在这里我们使用了预处理语句CREATE TABLE语句来创建数据表。

四、插入数据

插入数据需要使用INSERT INTO语句,示例如下:

import pymysql

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

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

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('John', 'Doe', 20, 'M', 2000.00)"

try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
    print("插入成功!")
except:
    # 如果发生错误则回滚
    db.rollback()

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

在上面的代码中,我们使用INSERT INTO语句和VALUES子句来插入数据。

五、查询数据

查询数据需要使用SELECT语句,示例如下:

import pymysql

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

# 使用 cursor() 方法创建一个游标对象 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:
        first_name = row[0]
        last_name = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # 打印结果
        print("first_name=%s,last_name=%s,age=%d,sex=%s,income=%d" % (first_name, last_name, age, sex, income))
except:
    print("Error: unable to fetch data")

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

如上所示,我们使用了SELECT * FROM EMPLOYEE语句查询EMPLOYEE表中所有的数据,并使用for循环和fetchall()方法遍历所有记录并输出。

六、更新数据

更新数据需要使用UPDATE语句,示例如下:

import pymysql

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

# 使用 cursor() 方法创建一个游标对象 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()

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

在上面的代码中,我们使用了UPDATE语句和WHERE子句来更新符合条件的数据。

七、删除数据

删除数据需要使用DELETE语句,示例如下:

import pymysql

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

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

# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)

try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交修改
    db.commit()
    print("删除成功!")
except:
    # 发生错误时回滚
    db.rollback()

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

如上所示,我们使用了DELETE FROM语句和WHERE子句来删除符合条件的数据。

以上就是Python操作MySQL数据库的详细过程,希望可以对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python中使用数据库? - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • python PyGame五子棋小游戏

    Python PyGame五子棋小游戏攻略 游戏规则 五子棋是一种双人对弈的纯策略型棋类游戏,通常使用黑白两色棋子,在15×15的棋盘上进行对弈。游戏的规则如下: 先手执黑子,后手执白子。 黑方先走,双方轮流落子。 每次落子只能在棋盘上空余的交叉点处落子。 若一方在横/竖/斜方向上形成了连续5个子,则获胜。 PyGame五子棋小游戏制作 第一步:准备工作 安…

    python 2023年6月3日
    00
  • 深入解析Python中的list列表及其切片和迭代操作

    深入解析Python中的list列表及其切片和迭代操作 Python中的list列表是一种常用的数据类型,它可以用来存储多个元素。本文将深入讲解Python中list列表的创建、访问、切片、迭代等操作,并提供两个示例说明。 列表(List)的创建 Python中的列表使用方括号([])或list()函数来创建。例如: my_list = [1, 2, 3, …

    python 2023年5月13日
    00
  • python库matplotlib绘制坐标图

    讲解使用 Python 库 Matplotlib 绘制坐标图的完整攻略。 什么是 Matplotlib Matplotlib 是一个 2D 绘图库,可以帮助我们快速、简单地创建各种类型的图表,包括线图、散点图、条形图等等,甚至可以绘制一些比较复杂的图表。Matplotlib 能够在大多数操作系统上运行,也支持多种绘图格式,如 PDF、SVG、JPG、PNG …

    python 2023年6月5日
    00
  • python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配

    在Python中,我们可以使用模糊匹配的方式来查找一个字符在列表中的近似或相似值。下面将详细讲解Python如何实现模糊匹配,包括使用正则表达式和使用第三方fuzzywuzzy。 使用正则表达式实现模糊匹配 我们可以使用Python内置的re模块来实现正则表达式匹配。例如,我们可以使用re模块的search()函数来查找一个字符在列表中的近似或相似值。例如:…

    python 2023年5月13日
    00
  • Python中创建字典的几种方法总结(推荐)

    下面我就为你详细讲解“Python中创建字典的几种方法总结(推荐)”的完整攻略。 Python中创建字典的几种方法总结(推荐) 在 Python 中,字典是一种非常常用的数据类型,它可以存储无序的键/值对(key/value pairs)。创建字典的方式有多种,下面我们就来总结一下。 直接创建 最常见的创建字典的方式就是直接使用大括号 {} 进行创建。我们可…

    python 2023年5月13日
    00
  • Odoo中如何生成唯一不重复的序列号详解

    生成唯一不重复的序列号在很多业务场景中是非常重要的,特别是涉及到订单、采购、库存等需要唯一标识的业务流程中。Odoo作为一款ERP系统,自然也内置了生成序列号的功能。下面就让我从Odoo中如何生成唯一不重复的序列号详解一下。 1. 在Odoo后台配置序列号 步骤如下: 进入Odoo后台,进入设置模块,选择“一般设置”。 找到“序列号”选项卡,添加一个你想要的…

    python 2023年6月3日
    00
  • 原生python实现knn分类算法

    下面就是详细讲解“原生Python实现KNN分类算法”的完整攻略。 1. KNN算法简介 KNN(K-Nearest Neighbor)算法是一种基本的分类和回归算法。KNN分类算法是根据所求点的k个样本中所属类别最多的一类来对所求点分类。 2. KNN算法步骤 2.1 数据集预处理 将整个数据集分为两部分:训练集和测试集。我们用训练集来进行模型的训练,用测…

    python 2023年6月5日
    00
  • python使用turtle库绘制时钟

    下面是关于使用Python中的turtle库绘制时钟的完整攻略: 确定需求 首先,我们要先确定需求,即需要绘制一个时钟来展示时间。时钟需要显示当前时间,包括时、分、秒,并且需要能够不断更新时间来模拟真实时钟的动态效果。 导入库 使用Python的turtle库来实现绘制和动态效果。我们首先需要导入turtle库,并且创建一个turtle对象。 import …

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部