如何在Python中使用数据库?

yizhihongxing

让我来为您详细讲解如何在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的数据结构与算法的队列详解(3)

    Python的数据结构与算法的队列详解(3) 在本文中,我们将继续讲解Python的数据结构与算法的队列,包括队列的实现方式、队列的应用场景及队列的注意项。同时,我们还将提供两个示例说明,以帮助读者更好地理解队列的使用方法。 队列的实现 队列是一种先进先出(FIFO)的数据结构,它可以用于存储一组元素,支持在队列的末尾添加元素,在队列的开头删除元素。在Pyt…

    python 2023年5月13日
    00
  • Python中异常重试的解决方案详解

    Python中异常重试的解决方案详解 在Python编程中,我们总是会遇到各种各样的异常,比如网络异常、服务器异常等等。为了提高程序的健壮性和稳定性,我们可以采用异常重试的解决方案。本文就来详细讲解Python中异常重试的解决方案。 简介 异常重试的解决方案是在异常出现的时候,不是立即报错,而是进行重试,重复运行出现异常的那部分代码。这可以大大提高程序的健壮…

    python 2023年5月13日
    00
  • 详解Python requests 超时和重试的方法

    以下是关于Python requests 超时和重试的方法的完整攻略: 问题描述 在使用 Python requests 库发送 HTTP 请求时,可能会遇到超时和重试的问题。本略将介绍如何使用 Python requests 库设置超时和重试以确保请求成功稳定性。 解决方法 使用以下步骤 Python requests 超时和重试: 设置超时时间。 可以使…

    python 2023年5月13日
    00
  • Python教程之成员和身份运算符的用法详解

    Python教程之成员和身份运算符的用法详解 什么是成员运算符? 在Python中,成员运算符用于测试一个值是否在一个序列中,包括字符串、列表、元组等。 in运算符 in运算符用法示例: # 判断字母是否在字符串中 string = "hello world" if "h" in string: print(&quot…

    python 2023年5月14日
    00
  • python学习——内置函数、数据结构、标准库的技巧(推荐)

    Python学习——内置函数、数据结构、标准库的技巧(推荐) 1. 内置函数 Python语言内置许多函数,这些函数可以通过调用来完成各种任务。掌握常用的内置函数可以提高编程的效率,下面对常用的内置函数进行简单介绍: print() print() 是输出函数,用于将数据输出到控制台或文件。该函数的语法为:print(*objects, sep=’ ‘, e…

    python 2023年5月13日
    00
  • 使用Python写一个量化股票提醒系统

    请看下面的攻略。 使用Python写一个量化股票提醒系统 目的 准备工作 基本思路 代码实现 目的 本文的目的是介绍如何使用Python编写一个量化股票提醒系统,可以实现根据股票价格涨跌幅度提醒用户,以及灵活的设置提醒条件。 准备工作 在开始编写代码之前,需要完成以下准备工作: 安装Python环境,推荐使用Python 3.x版本。 安装tushare库,…

    python 2023年5月30日
    00
  • python正则实现计算器功能

    Python正则表达式可以用来匹配字符串中的某种格式,对于计算器而言,就可以利用正则表达式实现输入的字符串转化为计算结果的功能。 步骤如下: 将输入的字符串中的空格去除掉 代码块: input_str = input_str.replace(‘ ‘, ”) 这一步很重要,可以去除多余的空格,避免对后续的计算造成影响。 利用正则表达式匹配数字和运算符 我们可…

    python 2023年6月3日
    00
  • python爬虫之教你如何爬取地理数据

    下面我给你详细讲解如何爬取地理数据的完整攻略。 什么是地理数据 首先我们需要了解什么是地理数据。地理数据是指与地理位置相关的各种数字化数据,包括地形、地貌、气候、资源、环境等。 爬虫爬取地理数据的流程 爬取地理数据的流程一般分为以下几步: 选定目标网站 分析目标网站的页面结构 编写爬虫程序,爬取网站中的数据 对爬取到的数据进行清洗、分析和可视化 接下来我们逐…

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