Python 数据库操作基础指南

随着互联网的不断发展,数据成为了重要的资产,对于企业来说,数据是难以替代的重要财富,而在 Python 中,与数据库进行交互是其中一个重要的功能。Python 作为一种高级编程语言,自然而然具备了与数据库交互的能力。通过 Python,我们可以访问和操作多种数据库类型,包括但不限于 MySQL、SQLite、PostgreSQL 等等,Python 的 DB-API 还可以让你在某种程度上“常用”各类数据库,这样的能力在数据多元化的今天非常重要。

一、安装 SQLAlchemy

在开始用 Python 操作数据库之前,我们需要通过 pip 安装一个 Python 的 ORM 库 SQLAlchemy。

    pip install SQLAlchemy

ORM 是 Object Relationship Mapping 的简称,也就是对象关系映射。ORM 把数据库的表结构映射到对象上,操作数据库表就变成了操作类和对象。

二、连接数据库

Python 和数据库连接的方式有许多,我们在这里介绍两种最常用的方法,分别是 SQLite 和 MySQL 的连接。

1. SQLite 连接

SQLite 是一款轻型的关系型数据库,Python 所有版本默认都已安装了这款数据库。以下是一个 Python 使用 SQLite 的示例代码:

    import sqlite3
 
    # 连接到 SQLite 数据库,文件名是 test.db,如果文件不存在,会自动在当前目录创建:
    conn = sqlite3.connect('test.db')
 
    # 创建一个 Cursor(游标):
    cursor = conn.cursor()
 
    # 执行一条 SQL 语句,创建 user 表:
    cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
 
    # 继续执行一条 SQL 语句,插入一条记录:
    cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
 
    # 通过 rowcount 获得插入的行数:
    print(cursor.rowcount)
 
    # 关闭 Cursor(游标):
    cursor.close()
 
    # 提交事务:
    conn.commit()
 
    # 关闭 Connection(连接):
    conn.close()

2. MySQL 连接

MySQL 是最流行的关系型数据库之一,提供了多种编程语言的 API,这里以 Python 的 PyMySQL 和 MySQL Connector 为例:

在使用 PyMySQL 之前,需要先安装这个模块,使用如下命令安装:

    pip install PyMySQL

PyMySQL 示例代码如下:

    import pymysql
 
    # 打开数据库连接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
 
    # 使用 execute()  方法执行 SQL 查询 
    cursor.execute("SELECT * FROM EMPLOYEE")
 
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()
 
    print ("Database version : %s " % data)
 
    # 关闭数据库连接
    db.close()

MySQL Connector 使用:

    import mysql.connector
 
    # 打开数据库连接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
 
    # 创建游标对象
    cursor = conn.cursor()
 
    # 执行 SQL 查询
    cursor.execute('SELECT * FROM test')
 
    # 获取所有结果集
    result = cursor.fetchall()
 
    # 关闭游标和连接
    cursor.close()
    conn.close()

三、操作数据库

1. 插入数据

插入数据是数据库操作的基本操作之一,下面是一段示例代码:

    import pymysql
 
    # 打开数据库连接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
 
    # SQL 插入语句
    sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
            LAST_NAME, AGE, SEX, INCOME) \
            VALUES ('%s', '%s', '%s', '%s', '%s')" % \
            ('Mac', 'Mohan', 20, 'M', 2000)
    try:
        # 执行 sql 语句
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        # 如果发生错误则回滚
        db.rollback()
 
    # 关闭数据库连接
    db.close()

2. 查询数据

查询数据也是数据库操作中常见的操作之一,以下是 Python 操作 MySQL 数据库查询语句的示例代码:

    import mysql.connector
     
    # 打开数据库连接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 创建游标对象
    cursor = conn.cursor()
     
    # 执行 SQL 查询
    cursor.execute('SELECT * FROM test')
     
    # 获取所有结果集
    results = cursor.fetchall()
     
    # 循环遍历结果集并打印
    for row in results:
        print(row)
     
    # 关闭游标和连接
    cursor.close()
    conn.close()

3. 更新数据

更新数据也是数据库操作中常见的操作之一,以下是 Python 操作 MySQL 更新数据的示例代码:

    import mysql.connector
     
    # 打开数据库连接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 创建游标对象
    cursor = conn.cursor()
     
    # SQL 更新语句
    sql = "UPDATE employee SET age = age + 1 WHERE SEX = '%c'" % ('M')
     
    try:
        # 执行 SQL 语句
        cursor.execute(sql)
        # 提交到数据库执行
        conn.commit()
    except:
        # 发生错误时回滚
        conn.rollback()
     
    # 关闭游标和连接
    cursor.close()
    conn.close()

4. 删除数据

删除数据也是数据库操作中常见的操作之一,以下是 Python 操作 MySQL 删除数据的示例代码:

    import mysql.connector
     
    # 打开数据库连接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 创建游标对象
    cursor = conn.cursor()
     
    # SQL 删除语句
    sql = "DELETE FROM employee WHERE AGE > '%d'" % (20)
     
    try:
        # 执行 SQL 语句
        cursor.execute(sql)
        # 提交修改
        conn.commit()
    except:
        # 发生错误时回滚
        conn.rollback()
     
    # 关闭游标和连接
    cursor.close()
    conn.close()

总结:

在 Python 中操作数据库是很常见的任务,Python 提供了多种操作数据库的方法,我们可以选择最合适的方法来完成我们的任务。SQLite、MySQL 或 PostgreSQL 这些数据库系统都可以通过 Python 轻松连接,提供了各种方便的操作方式,同时 ORM 也是连接和操作数据库的一个有效手段。无论你是要开发 Web、移动应用还是数据分析,Python 都能提供完整的工具链以及巨大的优势,操作数据库是其中一个非常重要的技能。

原创文章,作者:MSNUV,如若转载,请注明出处:https://www.506064.com/n/330415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MSNUVMSNUV
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • 运维Python和GO应用实践指南

    本文将从多个角度详细阐述运维Python和GO的实际应用,包括监控、管理、自动化、部署、持续集成等方面。 一、监控 运维中的监控是保证系统稳定性的重要手段。Python和GO都有强…

    编程 2025-04-29
  • Python应用程序的全面指南

    Python是一种功能强大而简单易学的编程语言,适用于多种应用场景。本篇文章将从多个方面介绍Python如何应用于开发应用程序。 一、Web应用程序 目前,基于Python的Web…

    编程 2025-04-29
  • Python wordcloud入门指南

    如何在Python中使用wordcloud库生成文字云? 一、安装和导入wordcloud库 在使用wordcloud前,需要保证库已经安装并导入: !pip install wo…

    编程 2025-04-29
  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python小波分解入门指南

    本文将介绍Python小波分解的概念、基本原理和实现方法,帮助初学者掌握相关技能。 一、小波变换概述 小波分解是一种广泛应用于数字信号处理和图像处理的方法,可以将信号分解成多个具有…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29

发表回复

登录后才能评论