SQLite je jednoduchý, výkonný, open-source a relačný databázový stroj, ktorý podporuje veľké softvérové aplikácie a zabudované systémy. SQLite je samostatný server a vyžaduje minimálnu konfiguráciu, vďaka čomu je jeho nastavenie a spustenie mimoriadne jednoduché s minimálnym časom. V predvolenom nastavení je Python zabudovaný s modulom SQLite (sqlite3), veľmi intuitívnym modulom na prácu s databázami SQLite v Pythone.
V tomto tutoriále sa pozrieme na to, ako používať Python na prácu s databázami SQLite. Od nadviazania spojenia s vytváraním databáz, čítaním databáz, aktualizáciou a odstraňovaním databáz.
Začnime inštaláciou SQLite:
Inštalácia SQLite a Python
V závislosti na vašej distribúcii Linuxu si môžete stiahnuť archív SQLite z adresy https: // www.sqlite.org / stiahnutie.html alebo použite správcu balíkov.
Inštalácia na Debian:
sudo apt-get aktualizáciasudo apt-get nainštalovať sqlite -y
Ďalej by ste mali mať nainštalovanú najnovšiu verziu Python3. Python by už mal byť vo vašej distribúcii predvolene predinštalovaný.
SQLite Shell
Predvolenou metódou interakcie s databázami SQLite je použitie shellu. Shell vám umožňuje vykonávať príkazy SQL inline alebo kolekciu na vykonávanie funkcií v databázach.
Ak chcete spustiť shell SQLite, použite príkaz:
$ sqliteSQLite verzia 2.8.17 Zadajte „.pomoc “
sqlite>Toto by malo spustiť shell SQLite s výzvou, ktorá vám umožní zadávať príkazy. Začnite zadaním príkazu .pomoc na zobrazenie pomocníka shell.
sqlite> .Pomoc.databázy Zoznam mien a súborov pripojených databáz
.skládka ?TABUĽKA?... Vypíše databázu v textovom formáte
.echo ON | OFF Zapnutie alebo vypnutie echa príkazu
.ukončiť Ukončiť tento program
.vysvetlite ON | OFF Zapnutie alebo vypnutie výstupného režimu vhodného pre VYSVETLENIE.
.hlavičky ZAPNUTÉ | VYPNUTÉ Zapnutie alebo vypnutie zobrazenia hlavičiek
.help Zobraziť túto správu
.indexy TABLE Zobraziť názvy všetkých indexov v TABUĽKE
.mode MODE Nastaví režim na jeden z „riadkov“, „stĺpcov“,,
„insert“, „list“ alebo „html“
----------------------------------------------------------------------
Ak chcete opustiť shell SQLite, použite .ukončiť príkaz.
sqlite> .skončiťVo vnútri prostredia SQLite môžete použiť ďalšie funkcie a operácie. Napríklad na zobrazenie všetkých databáz môžete použiť .príkaz databázy.
Dôrazne odporúčam experimentovať s shellom SQLite a oboznámiť sa, pretože vám umožní pochopiť, ako používať modul SQLite3 v Pythone.
Pripojenie k databáze
Poďme teraz na interakciu s databázami SQLite použiť moduly Python a SQLite3. Je dobré si uvedomiť, že existujú aj ďalšie moduly Pythonu, ktoré môžete použiť na interakciu s SQLite. SQLite3 je však jednoduchý a dodáva sa s balíkom Python.
Zvážte skript uvedený nižšie na pripojenie k databáze SQLite.
Chyba importu sqlite3 z importu sqlite3def connect_db (db_path):
pripojenie = žiadne vyskúšať:
pripojenie = sqlite3.pripojiť (db_path)
print ("Databáza bola úspešne pripojená")
okrem chyby ako e:
tlač (f „Vyskytla sa chyba: e“)
spätné pripojenie
connect_db ("/ home / user / Desktop / demo.sqlite ")
Začneme importom modulov SQLite a Error.
V riadku 3 vytvoríme funkciu connect_db (), ktorá ako argument vezme cestu k databáze.
Ďalšia časť obsahuje blok vyskúšania / chyby. Prvá časť berie ako argument cestu k databáze a nadväzuje spojenie. Upozorňujeme, že ak v SQLite zadaná databáza neexistuje, vytvorí sa automaticky.
Chybový blok sa pokúsi zachytiť výnimky a vytlačí ich používateľovi.
V záverečnom riadku zavoláme funkciu connect_db a odovzdáme cestu k databáze, ktorú chceme použiť alebo vytvoriť.
POZNÁMKA: Ak chcete namiesto disku vytvoriť pamäťovú databázu, môžete určiť: pamäť v objekte connect obj.
sqlite3.pripojiť („: pamäť“)Vytvoriť tabuľku SQLite
V SQLite môžeme pomocou shellu SQL vytvárať tabuľky pomocou dotazu CREATE TABLE. Všeobecná syntax je nasledovná:
CREATE TABLE database_name.nazov_tabulky (column_name datatype PRIMARY KEY (stĺpce),
column2_name datatype,
… StĺpecN_name typ údajov,
);
Nebudem sa ponárať do vytvárania tabuliek pomocou SQLite shell, pretože naším primárnym zameraním je Python. Ak sa chcete dozvedieť viac, pozrite si dokumentáciu k SQL Lite z nižšie uvedeného zdroja. Teraz, aby sme mohli na vytvorenie databázových tabuliek použiť moduly Python a sqlite3, musíme použiť objekt kurzora a vykonať funkcie dotazov SQL. Zvážte kód uvedený nižšie:
Chyba importu sqlite3 z importu sqlite3def connect_db (db_path):
pripojenie = žiadne
skúste:
pripojenie = sqlite3.pripojiť (db_path)
print ("Databáza bola úspešne pripojená")
okrem chyby ako e:
tlač (f „Vyskytla sa chyba: e“)
return connection def run_query (connection, sql_query):
kurzor = spojenie.kurzor ()
skúste:
kurzor.vykonať (sql_query)
spojenie.spáchať ()
print ("SQL dotaz bol úspešne spustený ... [OK]")
okrem chyby ako e:
tlač (f „Dopyt zlyhal ... e“)
dotaz = "" "
VYTVORIŤ TABUĽKU, AK NEEXISTUJE ukazuje (
id INTEGER PRIMÁRNY KLÍČ AUTOMATICKÝ PRÍSPEVOK,
meno TEXT NIE JE NULL,
ročník INTGER,
žánrový TEXT,
krajina TEXT
);
„“ „
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = dopyt)
Poďme teraz diskutovať o tom, čo vyššie uvedený kód nájde - nájdeme prvú vyššie vysvetlenú funkciu (pozrite si odkaz). V druhej funkcii create vytvoríme, odovzdáme spojenie a dopyt, ktorý sa má vykonať ako parametre. Nasledujúce riadky vytvárajú kurzorový objekt, ktorý použijeme na vyvolanie metódy execute. Ako už bolo spomenuté vyššie, ďalšie riadky volajú objekt kurzora, aby vykonal metódu, a volanie odovzdá dopyt ako parameter. Blok tiež vytlačí správu o úspešnom vykonaní dotazu. Po úspešnom vykonaní dotazu povieme SQLite, aby na uloženie zmien do databázy použila metódu commit. Blok okrem zachytí výnimky a vytlačí chybové hlásenie používateľovi. Nakoniec vytvoríme dotaz na vykonanie pomocou jednoduchej syntaxe SQLite.
Vložte záznamy SQLite
Ak chcete pridať údaje do databázy SQLite, môžeme sa ponoriť do funkcie run_query (), ktorú sme vytvorili, pretože dokáže spustiť akýkoľvek dotaz SQLite, ktorý jej odovzdáme. Na doplnenie údajov do tabuľky však používame dotaz INSERT INTO.
Zvážte blok uvedený nižšie:
add_shows = "" "VLOŽIŤ DO
predstavenia (id, meno, rok, žáner, krajina)
HODNOTY
(„101“, „Brooklyn Nine-Nine“, „2013“, „komédia“, „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)
Teraz musíme zavolať funkciu run_query a pridať prístupový dotaz add_shows na vloženie údajov do tabuľky show. Uistite sa, že tabuľka, do ktorej vkladáte údaje, existuje, aby sa zabránilo chybe.
SQLite mazať záznamy
Môžete tiež použiť funkciu run_query () na odstránenie záznamov zo zadanej tabuľky. Všetko, čo potrebujete, je nastaviť dopyt ako ODSTRÁNIŤ Z.
Zvážte nasledujúci čiastkový dotaz:
remove = "DELETE FROM shows WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql).sqlite "), sql_query = odstrániť)Vyššie uvedený dopyt odstráni reláciu „Brooklyn Nine-Nine“ z tabuľky prehliadok.
Záver
Tento tutoriál vás naučí, ako používať Python na prístup a interakciu s databázami SQLite. Z toho, čo ste sa naučili z tohto tutoriálu, môžete teraz vytvárať funkcie, pripájať sa k databázam SQLite, vytvárať tabuľky, vkladať údaje a mazať ich. Aj keď je to úvodný sprievodca prácou s SQLite v Pythone, mal by vám pomôcť začať sa učiť ďalšie technológie, ako napríklad SQLAlchemy a podobné.