目录
Python 数据库 API
SQLite
Python 和 SQLite
1.建立与您选择的数据库的连接
2.创建游标来与数据通信
3.使用 SQL 操作数据
4.提交更改
5.关闭与数据库的连接
6.让我们浏览一下数据库
Redis
Redis 和 Python
1.安装Redis.py客户端
2.将Redis客户端连接到Redis服务器
3.启动服务器并运行代码
结论
首页 后端开发 Python教程 Python中的数据库处理:SQLite和Redis

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

Sep 04, 2023 pm 07:37 PM
python redis sqlite 数据库处理

在我们生活的信息时代,我们可以看到世界正在交换多少数据。我们基本上是在广泛地创建、存储和检索数据!应该有一种方法来处理这一切——如果没有任何管理,它就不可能到处传播,对吗?这里是数据库管理系统(DBMS)。

DBMS 是一个软件系统,可让您创建、存储、修改、检索和以其他方式处理数据库中的数据。此类系统的大小也各不相同,从仅在个人计算机上运行的小型系统到在大型机上运行的大型系统。

本教程的重点是 Python,而不是数据库设计。是的,Python 非常能够与数据库交互,这就是我将在本教程中向您展示的内容。您将学习如何使用 Python 处理 SQLite 和 Redis 数据库。

让我们开始吧!

Python 数据库 API

如上所述,Python 能够与数据库交互。但是,它怎么能做到这一点呢? Python 使用所谓的 Python Database API 来与数据库进行交互。该 API 允许我们对不同的数据库管理系统 (DBMS) 进行编程。然而,对于不同的 DBMS,代码级别遵循的过程是相同的,如下所示:

  1. 与您选择的数据库建立连接
  2. 创建一个光标来与数据进行通信。
  3. 使用 SQL 操作数据(交互)。
  4. 告诉连接将 SQL 操作应用于数据并使它们永久化(提交),或者告诉它中止这些操作(回滚),从而返回将数据恢复到交互发生之前的状态。
  5. 关闭与数据库的连接。

SQLite

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

值得一提的是,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 操作数据

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

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

curs.execute('创建表员工(姓名,年龄)')

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

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

curs.execute("插入员工值('Ali', 28)")

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

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

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

curs.executemany('插入员工值(?,?)', value)

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

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

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

请注意,我们列出了表 employee,其中包含两个字段:nameage

要确认上面的代码有效并且数据已添加到表中,请单击浏览数据选项卡。您应该看到类似以下内容:

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

可以看到,数据库(company)和表(employee)已经创建完成,并且数据已成功添加到表中。

Redis

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

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

Redis 和 Python

除了其数据结构存储机制之外,Python 开发人员还因为 Redis 拥有大量 Python 客户端而更喜欢 Redis 而不是其他 NoSQL 数据库,其中最受欢迎的选择可能是 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客户端连接到Redis服务器

首先,在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',
}
登录后复制

接下来,使用 try... except 定义 add_to_db 函数。在 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
登录后复制

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

{
  'ID': '1', 
  'name': 'Kingsley Ubah', 
  'email': 'ubahthebuilder@gmail.com', 
  'role': 'Tech Writing', 
}
登录后复制

这就是 Redis 的全部内容!

结论

本教程仅触及使用 Python 处理数据库的皮毛。您可以从 sqlite3 模块了解更多方法,您可以在其中执行不同的数据库操作,例如更新和查询数据库。

要了解有关 redis-py 的更多信息,请立即阅读其完整文档。玩得开心!

以上是Python中的数据库处理:SQLite和Redis的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

redis集群模式怎么搭建 redis集群模式怎么搭建 Apr 10, 2025 pm 10:15 PM

Redis集群模式通过分片将Redis实例部署到多个服务器,提高可扩展性和可用性。搭建步骤如下:创建奇数个Redis实例,端口不同;创建3个sentinel实例,监控Redis实例并进行故障转移;配置sentinel配置文件,添加监控Redis实例信息和故障转移设置;配置Redis实例配置文件,启用集群模式并指定集群信息文件路径;创建nodes.conf文件,包含各Redis实例的信息;启动集群,执行create命令创建集群并指定副本数量;登录集群执行CLUSTER INFO命令验证集群状态;使

redis底层怎么实现 redis底层怎么实现 Apr 10, 2025 pm 07:21 PM

Redis 使用哈希表存储数据,支持字符串、列表、哈希表、集合和有序集合等数据结构。Redis 通过快照 (RDB) 和追加只写 (AOF) 机制持久化数据。Redis 使用主从复制来提高数据可用性。Redis 使用单线程事件循环处理连接和命令,保证数据原子性和一致性。Redis 为键设置过期时间,并使用 lazy 删除机制删除过期键。

redis怎么查看所有的key redis怎么查看所有的key Apr 10, 2025 pm 07:15 PM

要查看 Redis 中的所有键,共有三种方法:使用 KEYS 命令返回所有匹配指定模式的键;使用 SCAN 命令迭代键并返回一组键;使用 INFO 命令获取键的总数。

redis-server找不到怎么办 redis-server找不到怎么办 Apr 10, 2025 pm 06:54 PM

解决redis-server找不到问题的步骤:检查安装,确保已正确安装Redis;设置环境变量REDIS_HOST和REDIS_PORT;启动Redis服务器redis-server;检查服务器是否运行redis-cli ping。

redis zset怎么使用 redis zset怎么使用 Apr 10, 2025 pm 07:27 PM

Redis 有序集合(ZSet)用于存储有序元素集合,并按关联分数进行排序。ZSet 的用法步骤包括:1. 创建 ZSet;2. 添加成员;3. 获取成员分数;4. 获取排名;5. 获取排名范围的成员;6. 删除成员;7. 获取元素个数;8. 获取分数范围内的成员个数。

redis怎么读源码 redis怎么读源码 Apr 10, 2025 pm 08:27 PM

理解 Redis 源码的最佳方法是逐步进行:熟悉 Redis 基础知识。选择一个特定的模块或功能作为起点。从模块或功能的入口点开始,逐行查看代码。通过函数调用链查看代码。熟悉 Redis 使用的底层数据结构。识别 Redis 使用的算法。

redis指令怎么用 redis指令怎么用 Apr 10, 2025 pm 08:45 PM

使用 Redis 指令需要以下步骤:打开 Redis 客户端。输入指令(动词 键 值)。提供所需参数(因指令而异)。按 Enter 执行指令。Redis 返回响应,指示操作结果(通常为 OK 或 -ERR)。

redis查询的key怎么唯一 redis查询的key怎么唯一 Apr 10, 2025 pm 07:03 PM

Redis采用五种策略确保键的唯一性:1. 名称空间分隔;2. HASH数据结构;3. SET数据结构;4. 字符串键的特殊字符;5. Lua脚本验证。具体策略的选择取决于数据组织、性能和扩展性需求。

See all articles