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.
Unsere Tabellenstruktur wird wie unten gezeigt aussehen.
Fügen wir nun einige Demodaten hinzu, wie unten gezeigt.
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:
Das obige Ergebnis zeigt, dass mit der Methode fetchall()
alle Zeilen aus der Abfrage leicht abgerufen werden können.
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