SQLite on lihtne, võimas, avatud lähtekoodiga ja relatsiooniline andmebaasimootor, mis toetab suuri tarkvararakendusi ja manussüsteeme. SQLite on eraldiseisev ja nõuab minimaalset seadistamist, mis muudab selle seadistamise ja käitamise eriti lihtsaks minimaalse ajaga. Vaikimisi on Python sisseehitatud SQLite mooduliga (sqlite3), väga intuitiivse mooduliga Pythoni SQLite andmebaasidega töötamiseks.
Selles õpetuses uurime, kuidas Pythoni kasutada SQLite andmebaasidega töötamiseks. Alates ühenduse loomisest kuni andmebaaside loomise, andmebaaside lugemise, andmebaaside värskendamise ja eemaldamiseni.
Alustame SQLite installimisega:
SQLite ja Pythoni installimine
Sõltuvalt teie Linuxi levitamisest saate SQLite arhiivi alla laadida aadressilt https: // www.sqlite.org / allalaadimine.HTML või kasutage paketihaldurit.
Selle installimiseks Debianisse:
sudo apt-get värskendussudo apt-get install sqlite -y
Järgmisena peaks teil olema installitud Python3 uusim versioon. Python peaks olema teie vaikimisi teie jaotisse juba eelinstallitud.
SQLite kest
SQLite andmebaasidega suhtlemise vaikemeetod on kest. Kest võimaldab andmebaasis funktsioonide täitmiseks käivitada SQL-i käsud siseselt või kogu.
SQLite kesta käivitamiseks kasutage käsku:
$ sqliteSQLite versioon 2.8.17 Sisestage.abi ”juhiste saamiseks
sqlite>See peaks käivitama SQLite kestaga viip, mis võimaldab teil käske sisestada. Alustage käsu tippimisega .abi, et vaadata kesta abi.
sqlite> .abi.andmebaasid Loetlege lisatud andmebaaside nimed ja failid
.prügimägi ?TABEL?… Andmebaasi tühjendamine tekstivormingus
.kaja SISSE | VÄLJAS Lülitage käsu kaja sisse või välja
.väljumine Sellest programmist väljumine
.seleta ON | OFF Lülitage funktsioon EXPLAIN jaoks sobiv väljundrežiim sisse või välja.
.päis (ed) ON | OFF (välja) Päiste kuvamise sisse- või väljalülitamine
.abi Kuva see sõnum
.indeksid TABEL Näita kõigi tabelis olevate indeksite nimesid
.režiim MODE Valige režiimiks üks "rida", "veerg (id)",
"insert", "list" või "html"
----------------------------------------------------------------------
SQLite kestast väljumiseks kasutage .käsu lõpetamine.
sqlite> .lõpetageSQLite kestas saab kasutada ka muid funktsioone ja toiminguid. Näiteks kõigi andmebaaside vaatamiseks võite kasutada .andmebaasi käsk.
Soovitan tungivalt katsetada SQLite kestaga ja saada tuttavaks, kuna see võimaldab teil mõista, kuidas Pythonis kasutada SQLite3 moodulit.
Andmebaasiga ühenduse loomine
Kasutagem nüüd Pythoni ja SQLite3 mooduleid SQLite andmebaasidega suhtlemiseks. Hea on märkida, et SQLite'iga suhtlemiseks on ka teisi Pythoni mooduleid. SQLite3 on siiski lihtne ja on komplektis Pythoniga.
SQLite andmebaasiga ühenduse loomiseks kaaluge allolevat skripti.
importige sqlite3 sqlite3-st importivigadef connect_db (db_path):
ühendus = pole proovinud:
ühendus = sqlite3.ühenda (db_path)
print ("Andmebaasi ühendamine õnnestus")
välja arvatud viga e-na:
print (f "Ilmnes viga: e")
tagasiühendus
connect_db ("/ kodu / kasutaja / töölaud / demo.sqlite ")
Alustame SQLite ja Error moodulite importimisega.
Real 3 loome funktsiooni connect_db (), mis võtab argumendiks andmebaasi tee.
Järgmine osa sisaldab proovimise / tõrke blokeerimist. Esimene osa võtab argumendina andmebaasi tee ja loob ühenduse. Pange tähele, et kui SQLite'is pole määratud andmebaasi, luuakse see automaatselt.
Veaplokk püüab püüda erandeid ja prindib need kasutajale.
Viimases reas kutsume funktsiooni connect_db ja edastame tee andmebaasi, mida soovime kasutada või luua.
MÄRGE: Kui soovite ketta asemel luua mälu andmebaasi, saate ühenduse objektis määrata: mälu.
sqlite3.ühendama (“: mälu”)SQLite tabeli loomine
SQLite'is saame SQL-i kesta kasutada tabelite loomiseks, kasutades CREATE TABLE Query. Üldine süntaks on järgmine:
CREATE TABLE andmebaasi_nimi.tabeli_nimi (veeru_nimi andmetüüp PÕHIVÕTI (veerud),
veeru2_nimi andmetüüp,
... veergN_name andmetüüp,
);
Ma ei hakka sukelduma SQLite kestaga tabelite loomisse, kuna meie põhitähelepanu on Pythonil. Lisateabe saamiseks vaadake alloleva ressursi SQL Lite dokumentatsiooni. Nüüd, et andmebaasitabelite loomiseks mooduleid Python ja sqlite3 kasutada, peame kasutama kursori objekti ja käivitama SQL-i päringute funktsioonid. Mõelge allolevale koodile:
importige sqlite3 sqlite3-st importivigadef connect_db (db_path):
ühendus = puudub
proovige:
ühendus = sqlite3.ühenda (db_path)
print ("Andmebaasi ühendamine õnnestus")
välja arvatud viga e-na:
print (f "Ilmnes viga: e")
tagastage ühendus def run_query (ühendus, sql_query):
kursor = ühendus.kursor ()
proovige:
kursor.käivitama (sql_query)
ühendus.pühenduma ()
print ("SQL-i päringu käivitamine õnnestus ... [OK]")
välja arvatud viga e-na:
print (f "Päring nurjus ... e")
query = "" "
Loo tabel, kui seda pole olemas, näitab (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nimi TEKST EI NULL,
aasta INTGER,
žanr TEKST,
riik TEKST
);
"" "
run_query (ühendus = connect_db ("/ kodu / kasutaja / töölaud / sql.sqlite "), sql_query = päring)
Arutagem nüüd, mida ülaltoodud kood teeb - leiab ülaltoodud esimese funktsiooni (palun vaadake). Teises funktsioonis loome parameetritena ühenduse ja päringu, mille käivitada. Järgmised read loovad kursoriobjekti, mida kasutame meetodi execute kutsumiseks. Nagu eespool mainitud, kutsuvad järgmised read meetodi käivitamiseks kursori objektile ja parameetrina kutsuvad päringu edasi. Plokk prindib ka teate eduka päringu täitmise kohta. Kui päring on edukalt täidetud, käskime SQLite'il andmebaasi muudatuste salvestamiseks kasutada pühendamismeetodit. Välja arvatud plokk püüab erandeid ja prindib veateate kasutajale. Lõpuks loome päringu täitmiseks lihtsa SQLite süntaksiga.
SQLite Sisesta kirjed
Andmete lisamiseks SQLite andmebaasi võime sukelduda funktsiooni run_query (), mida me loome, kuna see võib käivitada mis tahes sellele edastatud SQLite päringu. Andmete lisamiseks tabelisse kasutame siiski päringut INSERT INTO.
Mõelge allpool olevale plokile:
add_shows = "" "INSERT INTO
saated (id, nimi, aasta, žanr, riik)
VÄÄRTUSED
("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 (ühendus = connect_db (" / kodu / kasutaja / töölaud / sql.sqlite "), sql_query = add_shows)
Nüüd peame kutsuma funktsiooni run_query ja lisama andmete päringu tabelisse sisestamiseks päringu add_shows. Vigade vältimiseks veenduge, et tabel, kuhu sisestate andmeid, on olemas.
SQLite kirjete kustutamine
Määratud tabelist kirjete eemaldamiseks võite kasutada ka funktsiooni run_query (). Kõik, mida vajate, on määrata päring KUSTUTAMISEKS.
Mõelge järgmisele alaküsimusele:
remove = "DELETE FROM" näitab WHERE name = 'Brooklyn Nine-Nine' "run_query (ühendus = connect_db (" / home / user / Deskop / sql.sqlite "), sql_query = eemalda)Ülaltoodud päring eemaldab saate tabelist saate "Brooklyn Nine-Nine".
Järeldus
Selles õpetuses on õpetatud, kuidas Pythoni abil SQLite andmebaasidele juurde pääseda ja nendega suhelda. Sellest õpetusest õppides saate nüüd luua funktsioone, luua ühenduse SQLite andmebaasidega, luua tabeleid, sisestada andmeid ja need kustutada. Kuigi see on Pythonis SQLite'iga töötamise stardijuhend, peaks see aitama teil õppida ka muid tehnoloogiaid, nagu näiteks SQLAlchemy ja muud.