Python SQLite - Wybierz dane
Możesz pobrać dane z tabeli SQLite za pomocą zapytania SELECT. To zapytanie / instrukcja zwraca zawartość określonej relacji (tabeli) w formie tabelarycznej i jest nazywana zbiorem wyników.
Składnia
Poniżej znajduje się składnia instrukcji SELECT w SQLite -
SELECT column1, column2, columnN FROM table_name;
Przykład
Załóżmy, że utworzyliśmy tabelę o nazwie CRICKETERS, używając następującego zapytania -
sqlite> CREATE TABLE CRICKETERS (
First_Name VARCHAR(255),
Last_Name VARCHAR(255),
Age int,
Place_Of_Birth VARCHAR(255),
Country VARCHAR(255)
);
sqlite>
A jeśli wstawiliśmy do niego 5 rekordów, używając instrukcji INSERT jako -
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>
Następujące zapytanie SELECT pobiera wartości kolumn FIRST_NAME, LAST_NAME i COUNTRY z tabeli CRICKETERS.
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>
Jak można zauważyć, instrukcja SELECT bazy danych SQLite po prostu zwraca rekordy określonych tabel. Aby uzyskać sformatowane dane wyjściowe, musisz ustawićheader, i mode używając odpowiednich poleceń przed instrukcją SELECT, jak pokazano poniżej -
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 rilanka
Virat Kohli India
Rohit Sharma India
Jeśli chcesz pobrać wszystkie kolumny każdego rekordu, musisz zastąpić nazwy kolumn znakiem „*”, jak pokazano poniżej -
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>
W SQLite domyślnie szerokość kolumn jest 10 wartości poza tym szerokość są posiekane (obserwować kolumnę kraj z 2 -go rzędu w powyższej tabeli). Możesz ustawić szerokość każdej kolumny na wymaganą wartość za pomocą.width polecenie, przed pobraniem zawartości tabeli, jak pokazano poniżej -
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>
Pobieranie danych za pomocą Pythona
READ Operacja na dowolnej bazie danych oznacza pobranie przydatnych informacji z bazy danych. Możesz pobrać dane z MYSQL za pomocą metody fetch () dostarczonej przez moduł sqlite python.
Klasa sqlite3.Cursor udostępnia trzy metody, mianowicie fetchall (), fetchmany () i, fetchone () gdzie,
Metoda fetchall () pobiera wszystkie wiersze ze zbioru wyników zapytania i zwraca je jako listę krotek. (Jeśli wykonamy to po pobraniu kilku wierszy, zwróci pozostałe).
Metoda fetchone () pobiera następny wiersz w wyniku zapytania i zwraca go jako krotkę.
Metoda fetchmany () jest podobna do metody fetchone (), ale pobiera następny zestaw wierszy w zestawie wyników zapytania zamiast pojedynczego wiersza.
Note - Zestaw wyników to obiekt, który jest zwracany, gdy obiekt kursora jest używany do zapytania tabeli.
Przykład
Poniższy przykład pobiera wszystkie wiersze tabeli EMPLOYEE za pomocą zapytania SELECT iz otrzymanego zestawu wyników początkowo pobieramy pierwszy wiersz za pomocą metody fetchone (), a następnie pobieramy pozostałe wiersze za pomocą metody fetchall ().
Poniższy program w Pythonie pokazuje, jak pobrać i wyświetlić rekordy z tabeli COMPANY utworzonej w powyższym przykładzie.
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()
Wynik
('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)
]