Python Sqlite Select

Python Sqlite Select
SQLITE to C-napisana biblioteka bazy danych. Inne systemy baz danych, takie jak PostgreSQL lub MySQL, być może niektóre, o których już wiesz. Zastosowują one architekturę klient-serwer, w której baza danych jest skonfigurowana jako serwer i dostęp do klienta. Ponieważ SQLite jest osadzony w programie jako biblioteka, jest inny i jest nazywany wbudowaną bazą danych. Wszystkie dane są przechowywane w pliku, zwykle z .rozszerzenie db i za pomocą zdefiniowanych funkcji możemy uruchomić/wykonywać instrukcje SQL. Ponadto korzystanie z tych funkcji pozwala nam przeprowadzać różne operacje bazy danych. W tym samouczku obejmuje sposób korzystania lub uruchamiania zapytania do pobierania danych z tabeli SQLite za pomocą modułu SQLite3, który jest wbudowaną biblioteką Python.

Co to jest instrukcja wyboru w SQLite Python?

Główną instrukcją, której używamy do zapytania o bazę danych SQLITE, jest klauzula Select. Co wybrać lub pobierać, jest określone w klauzuli Wybierz. Klauzula From jest zwykle używana z klauzulą ​​Wybierz, aby określić, z którego chcemy uzyskać dostęp lub pobrać dane.

Warunek wstępny

Najpierw musisz połączyć się z bazą danych, a tabela z wierszami danych i kolumn powinna być dostępna. Powinieneś znać nazwę tabeli SQLite i szczegółami jej kolumn przed uruchomieniem następującej aplikacji.

Jak używać zapytania w Python?

Użytkownicy Python mogą użyć następujących kroków, aby wybrać/pobierać dane z tabeli bazy danych:

  1. Aby połączyć się z bazą danych SQLITE, utwórz obiekt połączenia.
  2. Następnie użyj funkcji kursora obiektu połączenia do tworzenia obiektu kursora.
  3. Następnie możesz uruchomić instrukcję Select za pomocą SQLite3.Wykonaj () funkcję.

Łączenie z bazą danych SQLite

  1. Zaimportuj moduł SQLite3 najpierw do programu. Klasy i funkcje dostarczone przez moduł SQLite3 pomagają nam w interakcji z bazą danych.
  2. Następnie użyj nazwy bazy danych w funkcji Connect () klasy złącza. Bazy danych, do których chcesz się połączyć. Utworzy połączenie z podaną bazą danych SQLITE, jeśli jest już istnieje w systemie. Jednak nowa baza danych zostanie utworzona, jeśli baza danych o określonej nazwie nie istnieje.
  3. Utwórz kursor za pomocą funkcji cursor () do uruchamiania instrukcji i zapytań SQLite z Pythona.
  4. Zapytanie SQL jest wykonywane metodami execute (), a wyjście jest zwracane.

Kod:

import sqlite3
sqlCon = sqlite3.Connect ('my_db.db ')
cursor = sqlcon.kursor()
druk („podłączony do sqlite”)
query = "Wybierz sqlite_version ();"
kursor.Wykonaj (zapytanie)
v = kursor.fetchall ()
print („wersja bazy danych SQLITE to:”, v)
kursor.zamknąć()
Jeśli SQLCON:
SQLCON.zamknąć()
wydruku („Połączenie SQLite jest zamknięte”)

Wyjście:

Po nawiązaniu połączenia przekazaliśmy zapytanie w celu odzyskania wersji naszej bazy danych SQLITE. Funkcja „Kursor.fetchall () ”został użyty do odczytania wyników zapytania. Po zakończeniu zadania możemy użyć CLSOE () i połączenia.ClSOE () Metody zamykania połączeń kursor i SQLite.

Nauczyliśmy się, jak łączyć się z bazą danych SQLITE. Teraz potrzebujemy tabeli, z której możemy pobrać dane i pokazać, jak korzystać z klauzuli Select, aby osiągnąć nasz cel.

Tworzenie tabeli bazy danych AG i wkładanie w nią danych

Tworzenie tabeli bazy danych AG i wkładanie w nią danych
W tej sekcji dowiemy się, jak używać Pythona do utworzenia tabeli bazy danych SQLITE w bazie danych SQLITE. Tworzenie tabeli to instrukcja definicji danych (DDL). W poniższym programie utworzymy tabelę „uczeń” w „my_db.baza danych db ”. Do utworzenia tabeli w bazie danych SQLite można użyć kroków:

  1. Za pomocą SQLite3.Connect () metoda łączenia się z SQLite.
  2. Utwórz zapytanie.
  3. Za pomocą kursora.Wykonaj (zapytanie), uruchom zapytanie.

Kod:

import sqlite3
sqlCon = sqlite3.Connect ('my_db.db ')
query = "Utwórz studentów tabeli (
Id Id Integer Key podstawowy,
tekst nazwy,
Tekst e -mail nie zerowy unikalny,
Oceny liczby całkowitej); "
cursor = sqlcon.kursor()
druk („podłączony do sqlite”)
kursor.Wykonaj (zapytanie)
SQLCON.popełniać()
druk („stół jest utworzony”)
kursor.zamknąć()
Jeśli SQLCON:
SQLCON.zamknąć()
Drukuj („Połączenie jest zamknięte”)

Wyjście:

Utworzyliśmy tabelę „Uczniowie”, używając utworzenia klauzuli/zapytania tabeli i wykonania go za pomocą kursora.Wykonaj () funkcję. Następnie użyliśmy funkcji zatwierdzenia, aby upewnić się, że zmiany bazy danych są spójne. Teraz, aby wstawić dane do naszej tabeli „Studenci”, powtórzymy tę samą procedurę, jak w celu stworzenia naszej tabeli, ale tym razem użyjemy innego zapytania. Zapytanie do wstawki służy do dodawania/wprowadzania/wstawienia danych do już istniejącej tabeli bazy danych. Klauzula wartości służy do określenia wartości dla każdego wiersza danych w tabeli. Zapytanie do wstawki może wyglądać w następujący sposób:

Wstaw do tabeli (col1, col2,…) wartości (val1, val2,…);

Gdzie col1, col2… to nazwy kolumn i val1, val2… to wartości dla każdej kolumny wierszy w naszej tabeli.

Dodajmy teraz kilka danych do tabeli bazy danych.

Kod:

import sqlite3
sqlCon = sqlite3.Connect ('my_db.db ')
cursor = sqlcon.kursor()
kursor.Wykonaj („” „Wstaw do uczniów (id, nazwa, e -mail, znaki)
Wartości (10, „Rocky”, „[email protected] ', 13) „„ ”)
kursor.Wykonaj („” „Wstaw do uczniów (id, nazwa, e -mail, znaki)
Wartości (11, „Morgan”, „[email protected] ', 14) „„ ”)
kursor.Wykonaj („” „Wstaw do uczniów (id, nazwa, e -mail, znaki)
Wartości (12, „Nancy”, „[email protected] ', 10) „„ ”)
kursor.Wykonaj („” „Wstaw do uczniów (id, nazwa, e -mail, znaki)
Wartości (13, „Lucy”, „[email protected] ', 13) „„ ”)
kursor.Wykonaj („” „Wstaw do uczniów (id, nazwa, e -mail, znaki)
Wartości (14, „John”, „[email protected] ', 12) „„ ”)
SQLCON.popełniać()
druk („Wkłada danych”)
kursor.zamknąć()
Jeśli SQLCON:
SQLCON.zamknąć()
Drukuj („Połączenie jest zamknięte”)

Wyjście:

Minęliśmy zapytanie do wstawki do kursora.Funkcja wykonana () i wywoływana przez funkcję czasu mnożą czas z różnymi danymi za każdym razem, aby wstawić wiersze danych w naszej tabeli „uczniów”.

Zobaczmy teraz, jak pobrać/pobierać dane z tabeli SQLite za pomocą instrukcji Select in Python.

Kroki do pobierania danych za pomocą wyboru

  1. Za pomocą modułu SQLite3 połącz się z bazą danych SQLITE.
  2. Aby pobrać wiersze z tabeli, zdefiniuj zapytanie. W zależności od wymagań możesz wyodrębnić wszystkie lub tylko kilka wierszy.
  3. Następnym krokiem jest utworzenie kursora za pomocą połączenia „.metoda cursor () ”. Zapytania nie może być uruchomione bez obiektu kursora.
  4. Uruchom zapytanie.
  5. Aby pobrać wszystkie wiersze, użyj funkcji fetchall () obiektu kursora. Zwróci listę wierszy tabeli.
  6. Używając pętli dla iteracji listy wierszy, a następnie dostęp do każdego wiersza osobno.
  7. Kursor i obiekty połączenia bazy danych można zamknąć za pomocą kursora.Zamknij () i połączenie.odpowiednio metody bliskie ().

Przykład 1:

Tutaj użyjemy zapytania Select, aby uzyskać lub pobrać wszystkie dane z tabeli „Students”. W tym celu użyjemy „*” z instrukcją SELECT i użyjemy nazwy tabeli „Studenci” z instrukcją z From, aby określić tabelę, z której chcemy pobrać dane.

Kod:

import sqlite3
sqlCon = sqlite3.Connect ('my_db.db ')
cursor = sqlcon.kursor()
kursor.Wykonaj („Wybierz * od studentów;”)
r = kursor.fetchall ()
dla rzędów w R:
Drukuj (wiersze)
SQLCON.popełniać()
kursor.zamknąć()
Jeśli SQLCON:
SQLCON.zamknąć()
Drukuj („Połączenie jest zamknięte”)

Wyjście:

Wszystkie dane, które przechowyliśmy podczas tworzenia tabeli, są pobierane za pomocą programu. Zapytanie „Wybierz * od studentów”; służy do uzyskania wszystkich danych tabeli „studentów”. Kursor.Funkcja fetchall () odzyskana/pobrała wszystkie rzędy zapytania i zwróciła listę krotek.

Przykład nr 2:

Zamiast używać kursora.fetchall () funkcja, możemy również użyć funkcji fetchMany (), jeśli chcemy tylko określonej ilości wierszy. Czasami, jeśli tabela ma tysiące wierszy, pobieranie wszystkich danych może zająć dużo czasu. Wymagamy większej mocy obliczeniowej i magazynowania, ponieważ musimy wykorzystać więcej zasobów, aby pobrać wszystkie wiersze. Korzystając z metody FetchMany (rozmiaru) klasy kursora, możemy pobrać mniej rzędów i poprawić wydajność.

Kod:

import sqlite3
def Rowslimit (rozmiar):
sqlCon = sqlite3.Connect ('my_db.db ')
cursor = sqlcon.kursor()
kursor.Wykonaj („” „Wybierz * od uczniów” „”)
Drukuj („odzyskiwanie”, rozmiar, „wiersze”)
r = kursor.FetchMany (rozmiar)
Drukuj („Drukowanie każdego wiersza \ n”)
dla rzędów w R:
Drukuj (wiersze)
kursor.zamknąć()
Jeśli SQLCON:
SQLCON.zamknąć()
wydruku („Połączenie SQLite jest zamknięte”)
Rowslimit (3)

Wyjście:

Ten program jest podobny do programu, którego użyliśmy w przykładzie 1, ale różnica polega na tym, że zamiast używać funkcji fetchall (), która używaliśmy fetchMany (), która przyjmuje wartość liczb całkowitą jako wejście do pobrania niektórych/ograniczonych wierszy. Utworzyliśmy funkcję „Rowlimit”, aby przekazać wartość wielkości parametru do kursora.funkcja fetchMany (). W celu odzyskania trzech rekordów rozmiar dostarczany we wspomnianym skrypcie wynosi 3. Mniej wierszy zostanie zwróconych, jeśli tabela ma rzędy mniejsze niż określony rozmiar.

Wniosek

W tym samouczku po raz pierwszy zobaczyliśmy wprowadzenie do SQLite i sposób, w jaki można uzyskać dostęp do SQLite za pomocą Pythona. Celem tego artykułu jest nauczanie, w jaki sposób możemy użyć zapytania w SQLite Python. Do pobierania danych z tabeli bazy danych. Najpierw omówiliśmy, w jaki sposób można nawiązać połączenie między Pythonem i SQLite. Następnie wyjaśniliśmy, jak utworzyć tabelę bazy danych i wstawić do niej wartości. Następnie widzieliśmy, w jaki sposób możemy użyć wybranego zapytania do odzyskania całości lub pewnej liczby wierszy za pomocą funkcji Fetchall () i FetchMany ().