Python SQLite - Daten auswählen
Sie können Daten mit der SELCT-Abfrage aus einer SQLite-Tabelle abrufen. Diese Abfrage / Anweisung gibt den Inhalt der angegebenen Beziehung (Tabelle) in Tabellenform zurück und wird als Ergebnismenge aufgerufen.
Syntax
Es folgt die Syntax der SELECT-Anweisung in SQLite -
SELECT column1, column2, columnN FROM table_name;
Beispiel
Angenommen, wir haben mit der folgenden Abfrage eine Tabelle mit dem Namen CRICKETERS erstellt:
sqlite> CREATE TABLE CRICKETERS (
First_Name VARCHAR(255),
Last_Name VARCHAR(255),
Age int,
Place_Of_Birth VARCHAR(255),
Country VARCHAR(255)
);
sqlite>
Und wenn wir 5 Datensätze mit INSERT-Anweisungen als - eingefügt haben
sqlite> insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>
Die folgende SELECT-Abfrage ruft die Werte der Spalten FIRST_NAME, LAST_NAME und COUNTRY aus der Tabelle CRICKETERS ab.
sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
Shikhar |Dhawan |India
Jonathan |Trott |SouthAfrica
Kumara |Sangakkara |Srilanka
Virat |Kohli |India
Rohit |Sharma |India
sqlite>
Wie Sie sehen, gibt die SELECT-Anweisung der SQLite-Datenbank nur die Datensätze der angegebenen Tabellen zurück. Um eine formatierte Ausgabe zu erhalten, müssen Sie dieheader, und mode Verwenden der entsprechenden Befehle vor der SELECT-Anweisung wie unten gezeigt -
sqlite> .header on
sqlite> .mode column
sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
First_Name Last_Name Country
---------- -------------------- ----------
Shikhar Dhawan India
Jonathan Trott SouthAfric
Kumara Sangakkara Srilanka
Virat Kohli India
Rohit Sharma India
sqlite>
Wenn Sie alle Spalten jedes Datensatzes abrufen möchten, müssen Sie die Namen der Spalten wie unten gezeigt durch "*" ersetzen.
sqlite> .header on
sqlite> .mode column
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name Age Place_Of_Birth Country
---------- ---------- ---------- -------------- ----------
Shikhar Dhawan 33 Delhi India
Jonathan Trott 38 CapeTown SouthAfric
Kumara Sangakkara 41 Matale Srilanka
Virat Kohli 30 Delhi India
Rohit Sharma 32 Nagpur India
sqlite>
In SQLite standardmäßig ist die Breite der Spalten 10 Werte über diese Breite (beachten Sie die Land - Säule von 2 zerhackt werden nd Zeile in obiger Tabelle). Sie können die Breite jeder Spalte mit dem gewünschten Wert einstellen.width Befehl, bevor Sie den Inhalt einer Tabelle wie unten gezeigt abrufen -
sqlite> .width 10, 10, 4, 10, 13
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name Age Place_Of_B Country
---------- ---------- ---- ---------- -------------
Shikhar Dhawan 33 Delhi India
Jonathan Trott 38 CapeTown SouthAfrica
Kumara Sangakkara 41 Matale Srilanka
Virat Kohli 30 Delhi India
Rohit Sharma 32 Nagpur India
sqlite>
Daten mit Python abrufen
READ Operation für eine beliebige Datenbank bedeutet, einige nützliche Informationen aus der Datenbank abzurufen. Sie können Daten aus MYSQL mit der vom SQLite-Python-Modul bereitgestellten Methode fetch () abrufen.
Die Klasse sqlite3.Cursor bietet drei Methoden, nämlich fetchall (), fetchmany () und fetchone (), wobei
Die Methode fetchall () ruft alle Zeilen in der Ergebnismenge einer Abfrage ab und gibt sie als Liste von Tupeln zurück. (Wenn wir dies ausführen, nachdem wir einige Zeilen abgerufen haben, werden die verbleibenden zurückgegeben.)
Die Methode fetchone () ruft die nächste Zeile im Ergebnis einer Abfrage ab und gibt sie als Tupel zurück.
Die Methode fetchmany () ähnelt der Methode fetchone (), ruft jedoch anstelle einer einzelnen Zeile die nächste Reihe von Zeilen in der Ergebnismenge einer Abfrage ab.
Note - Eine Ergebnismenge ist ein Objekt, das zurückgegeben wird, wenn ein Cursorobjekt zum Abfragen einer Tabelle verwendet wird.
Beispiel
Im folgenden Beispiel werden alle Zeilen der EMPLOYEE-Tabelle mit der SELECT-Abfrage abgerufen. Aus der erhaltenen Ergebnismenge wird zunächst die erste Zeile mit der Methode fetchone () und anschließend die verbleibenden Zeilen mit der Methode fetchall () abgerufen.
Das folgende Python-Programm zeigt, wie Datensätze aus der im obigen Beispiel erstellten COMPANY-Tabelle abgerufen und angezeigt werden.
import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
#Retrieving data
cursor.execute('''SELECT * from EMPLOYEE''')
#Fetching 1st row from the table
result = cursor.fetchone();
print(result)
#Fetching 1st row from the table
result = cursor.fetchall();
print(result)
#Commit your changes in the database
conn.commit()
#Closing the connection
conn.close()
Ausgabe
('Ramya', 'Rama priya', 27, 'F', 9000.0)
[('Vinay', 'Battacharya', 20, 'M', 6000.0),
('Sharukh', 'Sheik', 25, 'M', 8300.0),
('Sarmista', 'Sharma', 26, 'F', 10000.0),
('Tripthi', 'Mishra', 24, 'F', 6000.0)
]