SQLite je jednoduchý, výkonný open-source a relační databázový stroj, který podporuje velké softwarové aplikace a vestavěné systémy. SQLite je samostatný a vyžaduje minimální konfiguraci, což usnadňuje jeho nastavení a spuštění s minimálním časem. Ve výchozím nastavení je Python zabudován do modulu SQLite (sqlite3), velmi intuitivního modulu pro práci s databázemi SQLite v Pythonu.
V tomto kurzu se podíváme na to, jak používat Python pro práci s databázemi SQLite. Od navázání připojení k vytváření databází, čtení databází, aktualizace a odebírání databází.
Začněme instalací SQLite:
Instalace SQLite a Pythonu
V závislosti na vaší distribuci Linuxu si můžete stáhnout archiv SQLite z https: // www.sqlite.org / stáhnout.html nebo použijte správce balíčků.
Instalace na Debian:
sudo apt-get aktualizacesudo apt-get nainstalovat sqlite -y
Dále byste měli mít nainstalovanou nejnovější verzi Python3. Ve výchozím nastavení by již měl být Python ve vaší distribuci předinstalován.
SQLite Shell
Výchozí metoda pro interakci s databázemi SQLite je použití shellu. Prostředí umožňuje provádět inline příkazy SQL nebo kolekci pro provádění funkcí v databázích.
Chcete-li spustit prostředí SQLite, použijte příkaz:
$ sqliteSQLite verze 2.8.17 Zadejte „.nápovědu “
sqlite>To by mělo spustit prostředí SQLite s výzvou, která vám umožní zadávat příkazy. Začněte zadáním příkazu .Nápověda k zobrazení nápovědy prostředí.
sqlite> .Pomoc.databáze Seznam jmen a souborů připojených databází
.skládka ?STŮL?… Vypsat databázi v textovém formátu
.echo ON | OFF Zapnutí nebo vypnutí echa příkazu
.ukončit Ukončit tento program
.vysvětlete ZAPNUTO | VYPNUTO Zapne nebo vypne režim výstupu vhodný pro VYSVĚTLENÍ.
.záhlaví ZAPNUTO | VYPNUTO Zapnutí nebo vypnutí zobrazení záhlaví
.help Zobrazit tuto zprávu
.indexy TABULKA Zobrazí názvy všech indexů v TABULCE
.mode MODE Nastaví režim na jeden z „řádků“, „sloupců“,
„insert“, „list“ nebo „html“
----------------------------------------------------------------------
Chcete-li ukončit prostředí SQLite, použijte .ukončete příkaz.
sqlite> .přestatUvnitř prostředí SQLite můžete použít další funkce a operace. Chcete-li například zobrazit všechny databáze, můžete použít .příkaz databáze.
Důrazně doporučuji experimentovat s shellem SQLite a seznámit se, protože vám umožní pochopit, jak používat modul SQLite3 v Pythonu.
Připojení k databázi
Pojďme nyní k interakci s databázemi SQLite použít moduly Python a SQLite3. Je dobré si uvědomit, že existují další moduly Pythonu, které můžete použít k interakci s SQLite. SQLite3 je však jednoduchý a dodává se s Pythonem.
Zvažte níže uvedený skript pro připojení k databázi SQLite.
importovat sqlite3 z importu sqlite3 Chybadef connect_db (db_path):
připojení = Žádné vyzkoušet:
připojení = sqlite3.připojit (db_path)
tisk ("Databáze úspěšně připojena")
kromě chyby jako e:
print (f "Došlo k chybě: e")
zpětné připojení
connect_db ("/ home / user / Desktop / demo.sqlite ")
Začneme importem modulů SQLite a Error.
V řádku 3 vytvoříme funkci connect_db (), která jako argument vezme cestu k databázi.
Další část obsahuje blok pokusu / chyby. První část vezme cestu databáze jako argument a naváže spojení. Všimněte si, že v SQLite, pokud zadaná databáze neexistuje, vytvoří se automaticky.
Chybový blok se pokusí zachytit výjimky a vytiskne je uživateli.
Na posledním řádku zavoláme funkci connect_db a předáme cestu k databázi, kterou chceme použít nebo vytvořit.
POZNÁMKA: Chcete-li namísto disku vytvořit paměťovou databázi, můžete zadat: memory v connect obj.
sqlite3.připojit („: paměť“)SQLite Vytvořit tabulku
V SQLite můžeme pomocí prostředí SQL vytvářet tabulky pomocí dotazu CREATE TABLE. Obecná syntaxe je následující:
VYTVOŘIT TABULKU název_databáze.název_tabulky (název_sloupce datový typ PRIMÁRNÍ KLÍČ (sloupce),
datový typ column2_name,
… SloupecN_name datový typ,
);
Nebudu se ponořit do vytváření tabulek pomocí prostředí SQLite, protože naším primárním zaměřením je Python. Další informace najdete v dokumentaci k SQL Lite z níže uvedeného zdroje. Nyní, abychom mohli k vytváření databázových tabulek použít moduly Python a sqlite3, musíme použít objekt kurzoru a spustit funkce dotazů SQL. Zvažte níže uvedený kód:
Chyba importu sqlite3 z importu sqlite3def connect_db (db_path):
připojení = žádné
Snaž se:
připojení = sqlite3.připojit (db_path)
tisk ("Databáze úspěšně připojena")
kromě chyby jako e:
print (f "Došlo k chybě: e")
vrátit připojení def run_query (připojení, sql_query):
kurzor = spojení.kurzor()
Snaž se:
kurzor.provést (sql_query)
spojení.spáchat()
print ("SQL dotaz úspěšně spuštěn ... [OK]")
kromě chyby jako e:
print (f "Dotaz se nezdařil ... e")
dotaz = "" "
VYTVOŘIT TABULKU, NEŽ EXISTUJE ukazuje (
id INTEGER PRIMÁRNÍ KLÍČ AUTOINCREMENT,
jméno TEXT NENÍ NULL,
rok INTGER,
žánr TEXT,
země TEXT
);
„“ „
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = dotaz)
Pojďme nyní diskutovat o tom, co výše uvedený kód - najděte první funkci vysvětlenou výše (viz). V druhé funkci, vytvořit, předáme připojení a dotaz, který se má provést jako parametry. Následující řádky vytvoří kurzorový objekt, který použijeme k volání metody execute. Jak bylo uvedeno výše, další řádky volají objekt kurzoru k provedení metody a volání předávají dotaz jako parametr. Blok také vytiskne zprávu o úspěšném provedení dotazu. Jakmile se dotaz úspěšně provede, řekneme SQLite, aby pro uložení změn do databáze použila metodu potvrzení. Blok výjimky zachytí výjimky a vytiskne chybovou zprávu uživateli. Nakonec vytvoříme dotaz, který se má provést pomocí jednoduché syntaxe SQLite.
Vkládání záznamů SQLite
Chcete-li přidat data do databáze SQLite, můžeme se ponořit do funkce run_query (), kterou jsme použili k vytvoření, protože může spustit jakýkoli dotaz SQLite, který jí předáme. K přidání dat do tabulky však používáme dotaz INSERT INTO.
Zvažte níže uvedený blok:
add_shows = "" "VLOŽ DO
pořady (id, jméno, rok, žánr, země)
HODNOTY
(„101“, „Brooklyn Nine-Nine“, „2013“, „komedie“, „USA“),
(„201“, „Star-Trek: Discovery“, „2017“, „Sci-Fi“, „USA“),
(„301“, „Star-Trek: Picard“, „2020“, „Sci-Fi“, „USA“);
"" "run_query (connection = connect_db (" / home / user / Desktop / sql. ".sqlite "), sql_query = add_shows)
Nyní musíme zavolat funkci run_query a přidat předat dotaz add_shows pro vložení dat do tabulky show. Ujistěte se, že tabulka, do které vkládáte data, existuje, aby nedošlo k chybě.
SQLite mazat záznamy
Můžete také použít funkci run_query () k odebrání záznamů ze zadané tabulky. Vše, co potřebujete, je nastavit dotaz jako DELETE FROM.
Zvažte následující dílčí dotaz:
remove = "DELETE FROM shows WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql).sqlite "), sql_query = remove)Výše uvedený dotaz odebere pořad „Brooklyn Nine-Nine“ z tabulky přehlídek.
Závěr
Tento kurz vás naučil, jak používat Python pro přístup a interakci s databázemi SQLite. Z toho, co jste se naučili z tohoto tutoriálu, můžete nyní vytvářet funkce, připojovat se k databázím SQLite, vytvářet tabulky, vkládat data a mazat je. I když se jedná o úvodní příručku pro práci s SQLite v Pythonu, měl by vám pomoci začít se učit další technologie, jako je SQLAlchemy a podobné.