Heim  >  Artikel  >  Backend-Entwicklung  >  Datenbankverwaltung in Python: SQLite und Redis

Datenbankverwaltung in Python: SQLite und Redis

王林
王林Original
2023-09-04 19:37:12597Durchsuche

Im Informationszeitalter, in dem wir leben, können wir sehen, wie viele Daten die Welt austauscht. Grundsätzlich erstellen, speichern und rufen wir Daten im großen Stil ab! Es sollte doch eine Möglichkeit geben, mit all dem umzugehen – es gibt keine Möglichkeit, dass es sich ohne jegliches Management überall ausbreitet, oder? Dies ist ein Datenbankverwaltungssystem (DBMS).

Ein DBMS ist ein Softwaresystem, mit dem Sie Daten in einer Datenbank erstellen, speichern, ändern, abrufen und anderweitig bearbeiten können. Solche Systeme variieren auch in ihrer Größe, von kleinen Systemen, die nur auf Personalcomputern laufen, bis hin zu großen Systemen, die auf Großrechnern laufen.

Dieses Tutorial konzentriert sich auf Python, nicht auf Datenbankdesign. Ja, Python ist sehr gut in der Lage, mit Datenbanken zu interagieren, und das werde ich Ihnen in diesem Tutorial zeigen. Sie erfahren, wie Sie mit Python mit SQLite- und Redis-Datenbanken arbeiten.

Lass uns anfangen!

Python-Datenbank-API

Wie oben erwähnt, ist Python in der Lage, mit Datenbanken zu interagieren. Aber wie kann es das tun? Python verwendet die sogenannte Python-Datenbank-API, um mit Datenbanken zu interagieren. Mit dieser API können wir verschiedene Datenbankverwaltungssysteme (DBMS) programmieren. Der auf Codeebene befolgte Prozess ist jedoch für verschiedene DBMS wie folgt derselbe:

  1. Stellen Sie eine Verbindung zur Datenbank Ihrer Wahl her.
  2. Erstellen Sie einen Cursor, um mit Daten zu kommunizieren.
  3. Verwenden Sie SQL, um Daten zu bearbeiten (interaktiv).
  4. Weist die Verbindung an, SQL-Vorgänge auf die Daten anzuwenden und sie dauerhaft zu machen (Commit) oder sie anzuweisen, diese Vorgänge abzubrechen (Rollback), wodurch die Daten in den Zustand zurückversetzt werden, in dem sie sich vor der Interaktion befanden.
  5. Schließendie Verbindung zur Datenbank.

SQLite

SQLite ist eine Open-Source-Lösung mit vollem Funktionsumfang, eigenständig (benötigt nur wenig Unterstützung durch externe Bibliotheken), serverlos (kein Server ist zum Ausführen der Datenbank-Engine erforderlich und es handelt sich um eine lokal gespeicherte Datenbank) und ohne Konfiguration (keine Installation oder Konfiguration erforderlich). ), SQL-basiert. Ein leichtes Datenbankverwaltungssystem (das SQL-Abfragen für SQLite-Tabellen ausführen kann) und eine Datendatei zum Speichern von Daten verwendet.

Es ist erwähnenswert, dass SQLite von großen Unternehmen wie Google, Apple, Microsoft usw. verwendet wird, was es sehr zuverlässig macht. In diesem Tutorial verwenden wir SQLite für die Interaktion mit einer Datenbank, genauer gesagt verwenden wir das Modul sqlite3 in Python.

Python und SQLite

Wie oben erwähnt umfasst die Verwendung einer Datenbank fünfHauptschritte. Sehen wir uns diese Schritte in Aktion an.

1. Stellen Sie eine Verbindung zur Datenbank Ihrer Wahl her

Dieser Schritt wird wie folgt umgesetzt:

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

Wie in der sqlite3 Dokumentation angegeben:

Um dieses Modul verwenden zu können, müssen Sie zunächst ein Connection-Objekt erstellen, das die Datenbank darstellt.

Bitte beachten Sie im obigen Code, dass die Daten in der Datei gespeichert werden company.db.

2. Erstellen Sie einen Cursor zur Kommunikation mit Daten

Der nächste Schritt bei der Arbeit mit der Datenbank besteht darin, einen Cursor zu erstellen, wie unten gezeigt:

curs = conn.cursor()

3. Verwenden Sie SQL, um Daten zu manipulieren

Nachdem wir eine Verbindung zur Datenbank hergestellt und den Cursor erstellt haben, können wir nun die Daten verarbeiten (mit ihnen interagieren). Mit anderen Worten: Wir können jetzt SQL-Befehle auf der Datenbank ausführen company.db.

Angenommen, wir möchten eine neue Tabelle Mitarbeiter in der Datenbank Firma erstellen. In diesem Fall müssen wir einen SQL-Befehl ausführen. Dazu verwenden wir die Methode execute() des company 中创建一个新表 employee。在这种情况下,我们需要运行 SQL 命令。为此,我们将使用 sqlite3 模块的 execute()-Moduls. Daher sieht die Python-Anweisung so aus:

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

Diese Anweisung führt einen SQL-Befehl aus, der eine Datei mit dem Namen employee 的表,其中包含两列(字段)nameage erstellt.

Wir können jetzt einen neuen SQL-Befehl ausführen, um Daten wie unten gezeigt in die Tabelle einzufügen:

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

Sie können auch mehrere Werte gleichzeitig eingeben, wie unten gezeigt:

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

In diesem Fall verwenden wir die Methode execute(),而不是使用方法executemany(), um die oben genannten Mehrfachwerte auszuführen.

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

4. Änderungen einreichen

In diesem Schritt möchten wir die Änderungen übernehmen (festschreiben), die wir im vorherigen Schritt vorgenommen haben. Es ist ganz einfach und sieht so aus:

conn.commit()

5. Schließen Sie die Verbindung zur Datenbank

Nachdem Sie die Aktion ausgeführt und die Änderungen übernommen haben, besteht der letzte Schritt darin, die Verbindung zu schließen:

conn.close()

Lassen Sie uns alle Schritte in einem Skript zusammenfassen. Das Programm sieht folgendermaßen aus (beachten Sie, dass wir zuerst das Modul importieren müssen):

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()
sqlite3Wenn Sie das Skript ausführen, sollten Sie eine Datei mit dem Namen

im aktuellen Verzeichnis erhalten. Laden Sie diese Datei herunter, da wir sie im nächsten Schritt verwenden werden.

company.db6. Lass uns die Datenbank durchsuchen

Nachdem wir die Datenbank und die Tabellen erstellt und einige Daten hinzugefügt haben, sehen wir uns an, was sich darin befindet

(die Datei, die Sie im vorherigen Abschnitt heruntergeladen haben). Hierfür verwenden wir ein großartiges Tool: DB Browser für SQLite. Fahren Sie fort und laden Sie das Tool auf Ihren Computer herunter. Nach dem Öffnen des Programms sollte ein Bildschirm wie dieser angezeigt werden:

company.db

Datenbankverwaltung in Python: SQLite und RedisÖffnen Sie die Datenbank über die Schaltfläche

Datenbank öffnen

oben. In diesem Fall sollten Sie die Datenbankstruktur wie unten gezeigt erhalten:

Datenbankverwaltung in Python: SQLite und RedisBitte beachten Sie, dass wir Tische aufgelistet haben

.

employee,其中包含两个字段:nameageUm zu bestätigen, dass der obige Code funktioniert und die Daten zur Tabelle hinzugefügt wurden, klicken Sie auf die Registerkarte

Daten durchsuchen

. Sie sollten etwa Folgendes sehen:

Datenbankverwaltung in Python: SQLite und RedisSie können sehen, dass die Datenbank (

) erstellt wurde und die Daten erfolgreich zur Tabelle hinzugefügt wurden.

company)和表(employeeRedis

Remote Dictionary Server, auch

Redis genannt, ist eine leistungsstarke NoSQL-Datenbank, die auch als In-Memory-Cache fungieren kann. Redis wurde von Salvatore Sanfilippo entwickelt und wird derzeit von Redis Labs gepflegt. Die Software ist in der Programmiersprache C geschrieben und Open Source (BSD-Lizenz).

Eines der bemerkenswertesten Merkmale von Redis ist der Speichermechanismus für die Datenstruktur. Sie können Daten in Redis mit denselben Datentypen wie in Python speichern (Strings, Mengen, Ganzzahlen, Listen, Wörterbücher usw.).

Das macht Redis zu einer beliebten Wahl unter Python-Entwicklern.

Redis und Python

Zusätzlich zum Speichermechanismus für die Datenstruktur bevorzugen Python-Entwickler Redis gegenüber anderen NoSQL-Datenbanken auch aufgrund der großen Anzahl von Python-Clients, von denen die beliebteste Wahl wahrscheinlich redis-py ist. Redis-py bietet integrierte Befehle zum Speichern verschiedener Daten auf einem Redis-Server.

Da wir nun ein grundlegendes Verständnis von Redis haben, lernen wir, wie man Daten darin speichert. Bevor Sie fortfahren, stellen Sie sicher, dass auf Ihrem Computer ein Redis-Server installiert ist.

1. Installieren Sie den Redis.py-Client

Erstellen Sie zunächst einen neuen Ordner mit dem Namen

redis-python für Ihr Python-Skript. Wechseln Sie als Nächstes mit dem Befehlsterminal in den Ordner und führen Sie den folgenden Befehl aus, um den Redis-Client zu installieren:

pip install redis

Dann erstellen Sie eine Datei mit dem Namen

app.py in redis-python und öffnen Sie sie mit einem Texteditor. Der nächste Schritt besteht darin, ein Python-Skript zu erstellen, um Daten zur Datenbank hinzuzufügen.

2. Verbinden Sie den Redis-Client mit dem Redis-Server

Zuerst importieren Sie in

app.py und legen die Variablen für den Redis-Server-Host und die Portadresse fest: redis

import redis
redis_host = 'localhost'
redis_port = 6379

Als nächstes definieren Sie die Daten, die zur Datenbank hinzugefügt werden sollen. In diesem Beispiel erstellen wir ein einfaches Python-Wörterbuch:

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

Als nächstes verwenden Sie den

-Block, um das Fehlerobjekt zu drucken. Im letzten Teil wird die Funktion ausgeführt: 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. Starten Sie den Server und führen Sie den Code aus

Führen Sie zunächst den Redis-Server aus, indem Sie den folgenden Befehl auf dem Befehlsterminal ausführen:

redis-cli
Sobald der Server aktiv ist, können Sie das Python-Skript mit dem folgenden Befehl ausführen:

python app.py

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

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

这就是 Redis 的全部内容!

结论

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

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

Das obige ist der detaillierte Inhalt vonDatenbankverwaltung in Python: SQLite und Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn