• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

Python 中的数据库处理——SQLite 和 Redis

python 数据库 api

如上所述,Python 能够与数据库交互。但是,它怎么能做到呢?Python 使用所谓的Python 数据库 API来与数据库交互。该 API 允许我们对不同的数据库管理系统 (DBMS) 进行编程。但是对于那些不同的DBMS,在代码层面的流程是一样的,如下:

  1. 建立与您选择的数据库的连接。

  2. 创建一个游标来与数据通信。

  3. 使用 sql ( interact ) 操作数据。

  4. 告诉连接要么对数据应用 SQL 操作并使其永久化(提交),要么告诉它中止这些操作(回滚),从而将数据返回到交互发生之前的状态。

  5. 关闭与数据库的连接。

sqlite

SQLite是一个开源、功能齐全、自包含(几乎不需要外部库的支持)、无服务器(不需要服务器来运行数据库引擎,并且是本地存储的数据库)、零配置(没有安装或配置),基于 SQL 的轻量级数据库管理系统(SQL 查询可以在 SQLite 表上运行),并使用一个数据文件来存储数据。

好消息是 SQLite 被 Google、Apple、Microsoft 等大公司使用,这使得它非常可靠。在本教程中,我们将使用 SQLite 与数据库进行交互,更具体地说,将使用 Python 中的sqlite3 模块。

Python 和 SQLite

如上所述,使用数据库涉及五个主要步骤。让我们看看这些步骤的实际效果。

1. 建立与您选择的数据库的连接

这一步实现如下:

conn = sqlite3.connect('company.db')

如sqlite3文档中所述:

要使用该模块,您必须首先创建一个Connection代表数据库的对象。

在上面的代码中,请注意数据将存储在文件中company.db。

2.创建一个与数据通信的光标

使用数据库的下一步是创建游标,如下所示:

curs = conn.cursor()

3. 使用 SQL 操作数据

连接数据库并创建游标后,我们现在可以处理(交互)数据了。换句话说,我们现在可以在数据库上运行 SQL 命令company.db。

假设我们想employee在我们的数据库中创建一个新表company。在这种情况下,我们需要运行 SQL 命令。为此,我们将使用模块的execute()方法sqlite3。因此,Python 语句将如下所示:

curs.execute('create table employee(name, age)')

该语句将运行一个 SQL 命令,该命令将创建一个名为 的表employee,其中包含两列(字段)name和age。

我们现在可以运行一个新的 SQL 命令,它将在表中插入数据,如下所示:

curs.execute("insert into employee values ('Ali', 28)")

您也可以一次插入多个值,如下所示:

values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]

在这种情况下,execute()我们将使用方法 executemany()来执行上述多个值,而不是使用方法。

curs.executemany('insert into employee values(?,?)', values)

4. 提交更改

在这一步中,我们希望应用(提交)我们在上一步中所做的更改。只需按如下方式完成:

conn.commit()

5. 关闭与数据库的连接

在执行我们的操作并提交更改后,最后一步是关闭连接:

conn.close()

让我们将所有步骤放在一个脚本中。程序如下所示(注意我们必须先导入模块sqlite3):

import sqlite3
conn = sqlite3.connect('company.db')
curs = conn.cursor()
curs.execute('create table employee (name, age)')
curs.execute("insert into employee values ('Ali', 28)")
values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]
curs.executemany('insert into employee values(?,?)', values)
conn.commit()
conn.close()

company.db如果您运行该脚本,您应该会在当前目录中获得一个名为的文件。下载此文件,因为我们将在下一步中使用它。

6.让我们浏览数据库

在创建了一个数据库、一个表并添加了一些数据之后,让我们看看里面有什么company.db(您在上一节中下载的文件)。为此,我们将使用一个不错的工具:DB Browser for SQLite。继续在您的机器上下载该工具。打开程序后,您应该会看到如下所示的屏幕:

Python 中的数据库处理——SQLite 和 Redis  第1张

使用顶部的Open database按钮打开数据库,在这种情况下,您应该获得Database Structure,如下所示:

Python 中的数据库处理——SQLite 和 Redis  第2张

请注意,我们employee列出了表格,其中包含两个字段name和age。

为了确认我们上面的代码有效并且数据已添加到表中,请单击“浏览数据”选项卡。您应该会看到如下内容:

Python 中的数据库处理——SQLite 和 Redis  第3张

因此,如您所见,已创建数据库 ( company) 和表 ( employee),并且已成功将数据添加到表中。

雷迪斯

远程词典服务器,简称redis,是一个健壮的 NoSQL 数据库,它也能够作为内存缓存。Redis 由 Salvatore Sanfilippo 开发,目前由 Redis Labs 维护。该软件使用 C 编程语言编写,并且是开源的(BSD 许可)。

Redis 最显着的特点之一是它的数据结构存储机制。您可以使用 Python 中的相同数据类型(字符串、集合、整数、列表、字典等)在 Redis 中存储数据。这使得 Redis 成为 Python 开发人员的热门选择。 

Redis 和 Python

除了它的数据结构存储机制之外,Python 开发人员也更喜欢 Redis,而不是其他 NoSQL 数据库,因为它拥有大量Python 客户端,其中最受欢迎的选择可能是 redis-py。Redis-py 提供了用于在 Redis 服务器中存储各种数据的内置命令。

现在我们对 Redis 有了基本的了解,让我们学习如何在其中存储数据。在继续之前,请确保在您的计算机上安装了Redis 服务器。

1.安装Redis.py客户端

首先,为您的 Python 脚本创建一个名为redis-python的新文件夹。接下来,使用命令终端 cd 到该文件夹,然后运行以下命令来安装 Redis 客户端: 

pip install redis

然后,在redis-python中创建一个名为app.py的文件,并使用文本编辑器打开该文件。下一步是创建用于将数据添加到数据库的 Python 脚本。

2. 将 Redis Client 连接到 Redis Server

首先,在app.py中,导入redis并设置 Redis 服务器主机和端口地址的变量:

import redis
redis_host = 'localhost'
redis_port = 6379

接下来,定义要添加到数据库的数据。在这种情况下,我们正在创建一个简单的 Python 字典:

user = {
    'ID': 1,
    'name': 'Kingsley Ubah',
    'email': 'ubahthebuilder@gmail.com',
    'role': 'Tech Writing',
}

接下来,定义一个add_to_db带有try...except. 在该try块中,我们连接到本地 Redis 服务器并将上述字典存储在数据库中,然后在控制台上输出值。如果代码失败,我们在except块中打印错误对象。最后一部分将运行该函数:

def add_to_db():
    try:
        r = redis.StrictRedis(host = redis_host, port = redis_port, decode_responses=True)
        r.hmset("newUserOne", user)
        msg = r.hgetall("newUserOne")
        print(msg)
    except Exception as e:
        print(f"Something went wrong {e}")
  
# Runs the function:
if __name__ == "__main__":
    add_to_db()

3.启动服务器并运行代码

首先,通过在命令终端上执行以下命令来运行您的 Redis 服务器:

redis-cli

一旦服务器处于活动状态,您可以使用以下命令运行 Python 脚本:

python app.py

如果一切顺利,包含用户配置文件的字典将通过newUserOnekey 添加到 Redis。此外,您应该在终端的控制台上看到以下输出:

{
  'ID': '1',
  'name': 'Kingsley Ubah',
  'email': 'ubahthebuilder@gmail.com',
  'role': 'Tech Writing',
}

Redis 就是这样!

结论

本教程只是触及了使用 Python 处理数据库的皮毛。

您可以从模块中了解更多方法sqlite3,您将能够在其中执行不同的数据库操作,例如更新和查询数据库。

要了解有关 redis-py 的更多信息,请不要犹豫,阅读他们的完整文档


文章目录
  • python 数据库 api
  • sqlite
  • Python 和 SQLite
    • 1. 建立与您选择的数据库的连接
    • 2.创建一个与数据通信的光标
    • 3. 使用 SQL 操作数据
    • 4. 提交更改
    • 5. 关闭与数据库的连接
    • 6.让我们浏览数据库
  • 雷迪斯
    • Redis 和 Python
    • 1.安装Redis.py客户端
    • 2. 将 Redis Client 连接到 Redis Server
    • 3.启动服务器并运行代码
  • 结论
  • 发表评论