fetchall() in Python

Rana Hasnain Khan 15 Februar 2024
fetchall() in Python

Wir demonstrieren Pythons cursor-Klassenmethode fetchall() und wie man sie in Anwendungen verwendet, um Daten aus Datenbanken in Python abzurufen.

Verwenden Sie fetchall(), um Daten aus Datenbanken in Python abzurufen

Meistens arbeiten wir mit der Datenbank in unseren Anwendungen. Die Datenbank ist der wichtigste Teil unserer Anwendung, der Daten speichert.

Python verwendet den cursor, um Daten aus der Datenbank abzurufen. fetchall() ist eine der cursor-Methoden von Python, die verwendet wird, um alle Zeilen für eine bestimmte Abfrage abzurufen.

Wenn wir alle Daten aus einer bestimmten Tabelle anzeigen möchten, können wir die Methode fetchall() verwenden, um alle Zeilen abzurufen. Diese Methode gibt eine Liste von Tupeln zurück.

Wenn die Abfrage keine Zeilen enthält, wird eine leere Liste zurückgegeben. Lassen Sie uns ein Beispiel durchgehen, eine Beispieltabelle erstellen und versuchen, Daten mit Pythons cursor-Methoden abzurufen.

Für dieses Beispiel verwenden wir die MySQL-Datenbank, daher müssen wir das Modul mysql-connector-python installieren. Wenn Sie jedoch mit anderen Datenbanken wie PostgreSQL arbeiten möchten, müssen Sie Psycopg2 verwenden, oder wenn Sie in SQLite arbeiten, müssen Sie sqlite3 verwenden.

Also werden wir mysql-connector-python installieren, indem wir den folgenden Befehl ausführen.

pip install mysql-connector-python

Lassen Sie uns eine neue Beispieldatenbank und eine Tabelle in MySQL erstellen.

fetchall im Namen der Python-Datenbank

Unsere Tabellenstruktur wird wie unten gezeigt aussehen.

Screenshot von fetchall in der Python-Datenbank

fetchall in der Python-Tabellenstruktur

Fügen wir nun einige Demodaten hinzu, wie unten gezeigt.

fetchall in Python-Tabellendaten

Wir importieren mysql-connector-python und erstellen eine Datenbankverbindung innerhalb einer Funktion in Python, wie unten gezeigt.

# python
import mysql.connector


def getRecords():
    try:
        mydb = mysql.connector.connect(
            host="localhost",
            user="yourusername",
            password="yourpassword"
        )
        mycursor = mydb.cursor()
        print("Connected to MySQL")

Wir werden eine select-Abfrage erstellen, um die Daten aus unserer Tabelle zu erhalten.

# python
query = "SELECT * FROM test"
mydb.commit()
records = mycursor.fetchall()
print("Total rows are:  ", len(records))
print("Printing each row")
for row in records:
    print("ID: ", row[0])
    print("Name: ", row[1])
    print("Email: ", row[2])
    print("Country: ", row[3])
    print("\n")
mycursor.close()

Und am Ende rufen wir unsere Funktion auf.

# python
getRecords()

Ausgabe:

fetchall im Python-Beispielergebnis

Das obige Ergebnis zeigt, dass mit der Methode fetchall() alle Zeilen aus der Abfrage leicht abgerufen werden können.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Python MySQL