SQLite ir vienkāršs, jaudīgs, atvērtā koda un relāciju datu bāzes dzinējs, kas atbalsta lielas programmatūras lietojumprogrammas un iegultās sistēmas. SQLite ir atsevišķa un prasa minimālu konfigurāciju, padarot to īpaši viegli uzstādāmu un palaistu ar minimālu laiku. Pēc noklusējuma Python ir iebūvēts ar SQLite moduli (sqlite3), kas ir ļoti intuitīvs modulis darbam ar SQLite datu bāzēm Python.
Šajā apmācībā mēs apskatīsim, kā izmantot Python darbam ar SQLite datu bāzēm. Sākot no savienojuma izveidošanas līdz datubāzu izveidei, datubāzu lasīšanai, datu bāzu atjaunināšanai un noņemšanai.
Sāksim ar SQLite instalēšanu:
SQLite un Python instalēšana
Atkarībā no Linux izplatīšanas SQLite arhīvu varat lejupielādēt vietnē https: // www.sqlite.org / lejupielādēt.html vai izmantojiet pakotņu pārvaldnieku.
Lai to instalētu Debian:
sudo apt-get atjauninājumssudo apt-get install sqlite -y
Pēc tam jums vajadzētu būt instalētai jaunākajai Python3 versijai. Pēc noklusējuma Python jau ir jābūt iepriekš instalētam jūsu izplatīšanā.
SQLite apvalks
Noklusējuma metode mijiedarbībai ar SQLite datu bāzēm ir čaulas izmantošana. Apvalks ļauj izpildīt SQL komandas iekšēji vai kolekciju, lai veiktu funkcijas datu bāzēs.
Lai palaistu SQLite apvalku, izmantojiet komandu:
$ sqliteSQLite versija 2.8.17 Ievadiet “.palīdzība ”
sqlite>Tam vajadzētu palaist SQLite apvalku ar uzvedni, kas ļauj ievadīt komandas. Sāciet, ierakstot komandu .palīdzēt apskatīt čaulas palīdzību.
sqlite> .palīdzība.datu bāzes Uzskaitiet pievienoto datu bāzu nosaukumus un failus
.izgāzt ?TABULA?... Izmest datubāzi teksta formātā
.echo ON | OFF Ieslēdziet vai izslēdziet komandas echo
.iziet Iziet no šīs programmas
.paskaidrot ON | OFF Ieslēdziet vai izslēdziet EXPLAIN piemēroto izvades režīmu.
.galvenes (-es) ON | OFF (ieslēgt vai izslēgt) galvenes displeju
.palīdzība Parādīt šo ziņojumu
.indeksi TABLE Rādīt visu tabulas TABLE indeksu nosaukumus
.režīms REŽĪMS Iestatiet režīmu uz vienu no "rindām (-ām)", "kolonnām (-ām)",
"insert", "list" vai "html"
----------------------------------------------------------------------
Lai izietu no SQLite apvalka, izmantojiet .atmest komandu.
sqlite> .atmestSQLite čaulā var izmantot arī citas funkcijas un darbības. Piemēram, lai apskatītu visas datu bāzes, varat izmantot .datu bāzes komanda.
Es ļoti iesaku eksperimentēt ar SQLite apvalku un iepazīties, jo tas ļaus jums saprast, kā Python izmantot SQLite3 moduli.
Savienojuma izveide ar datu bāzi
Izmantosim tagad Python un SQLite3 moduļus, lai mijiedarbotos ar SQLite datu bāzēm. Ir labi atzīmēt, ka ir arī citi Python moduļi, kurus varat izmantot, lai mijiedarbotos ar SQLite. Tomēr SQLite3 ir vienkāršs un nāk komplektā ar Python.
Apsveriet zemāk esošo skriptu, lai izveidotu savienojumu ar SQLite datu bāzi.
importēt sqlite3 no sqlite3 importa kļūdadef connect_db (db_path):
savienojums = Neviens nemēģiniet:
savienojums = sqlite3.savienot (db_path)
drukāt ("Datu bāze ir veiksmīgi savienota")
izņemot kļūdu kā e:
drukāt (f "Radās kļūda: e")
atgriešanās savienojums
connect_db ("/ home / user / Desktop / demo.sqlite ")
Mēs sākam ar SQLite un Error moduļu importēšanu.
3. rindā mēs izveidojam funkciju connect_db (), kas kā argumentu ņem datu bāzes ceļu.
Nākamajā daļā ir iekļauts mēģinājuma / kļūdas bloks. Pirmajā daļā kā arguments tiek izmantots datu bāzes ceļš un izveidots savienojums. Ņemiet vērā, ka SQLite, ja norādītā datu bāze nepastāv, tā tiek izveidota automātiski.
Kļūdu bloks mēģina noķert izņēmumus un izdrukā tos lietotājam.
Pēdējā rindā mēs izsaucam connect_db funkciju un nododam ceļu uz datu bāzi, kuru vēlamies izmantot vai izveidot.
PIEZĪME: Ja diska vietā vēlaties izveidot atmiņas datu bāzi, savienojuma objektā varat norādīt: atmiņa.
sqlite3.savienot (“: atmiņa”)SQLite Izveidot tabulu
SQLite mēs varam izmantot SQL apvalku, lai izveidotu tabulas, izmantojot CREATE TABLE Query. Vispārējā sintakse ir šāda:
CREATE TABLE datu bāzes nosaukums.tabulas_nosaukums (column_name datatips PRIMARY KEY (kolonna (s),
column2_name datu tips,
… KolonnasN_name datu tips,
);
Es neiedziļināšos tabulu izveidē, izmantojot SQLite čaulu, jo mūsu galvenā uzmanība tiek pievērsta Python. Apsveriet SQL Lite dokumentāciju no tālāk esošā resursa, lai uzzinātu vairāk. Tagad, lai izveidotu Python un sqlite3 moduļus, lai izveidotu datu bāzes tabulas, mums jāizmanto kursora objekts un jāizpilda SQL vaicājumu funkcijas. Apsveriet zemāk redzamo kodu:
importēt sqlite3 no sqlite3 importa kļūdadef connect_db (db_path):
savienojums = nav
mēģiniet:
savienojums = sqlite3.savienot (db_path)
drukāt ("Datu bāze ir veiksmīgi savienota")
izņemot kļūdu kā e:
drukāt (f "Radās kļūda: e")
atgriešanās savienojums def run_query (savienojums, sql_query):
kursors = savienojums.kursors ()
mēģiniet:
kursors.izpildīt (sql_query)
savienojums.apņemties ()
drukāt ("SQL vaicājums veiksmīgi palaists ... [OK]")
izņemot kļūdu kā e:
drukāt (f "Vaicājums neizdevās ... e")
query = "" "
Izveidot tabulu, ja tādas nav, tiek parādīts (
id INTEGER PAMATSLĒGUMA AUTOINCREMENT,
nosaukums TEXT NOT NULL,
gads INTGER,
žanrs TEKSTS,
valsts TEKSTS
);
"" "
run_query (savienojums = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = vaicājums)
Ļaujiet mums tagad apspriest, ko dara iepriekš minētais kods - atrodiet pirmo iepriekš izskaidroto funkciju (lūdzu, skatiet). Otrajā izveidošanas funkcijā mēs kā savienojumu un vaicājumu izpildām kā parametrus. Šīs rindas izveido kursora objektu, kuru izmantosim, lai izsauktu izpildes metodi. Kā minēts iepriekš, nākamās rindas izsauc kursora objektu, lai izpildītu metodi, un kā parametrs izsauc vaicājumu. Bloks arī izdrukā ziņojumu par veiksmīgu vaicājuma izpildi. Kad vaicājums ir veiksmīgi izpildīts, mēs sakām SQLite izmantot izdarīšanas metodi, lai saglabātu izmaiņas datu bāzē. Bloks, izņemot bloku, uztver izņēmumus un izdrukā kļūdas ziņojumu lietotājam. Visbeidzot, mēs izveidojam vaicājumu izpildei, izmantojot vienkāršu SQLite sintaksi.
SQLite Ievietot ierakstus
Lai pievienotu datus SQLite datu bāzei, mēs varam ienirt funkcijā run_query (), kuru izmantojām, lai izveidotu, jo tā var izpildīt jebkuru SQLite vaicājumu, kuru tam nododam. Tomēr datu pievienošanai tabulai mēs izmantojam vaicājumu INSERT INTO.
Apsveriet zemāk esošo bloku:
add_shows = "" "IEVADĪT
šovi (id, nosaukums, gads, žanrs, valsts)
VĒRTĪBAS
("101", "Brooklyn Nine-Nine", "2013", "komēdija", "ASV"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "ASV"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "ASV");
"" "run_query (savienojums = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)
Tagad mums ir jāizsauc funkcija run_query un jāpievieno vaicājums add_shows, lai ievietotu datus tabulā. Pārliecinieties, ka tabula, kurā ievietojat datus, pastāv, lai nerastos kļūda.
SQLite Dzēst ierakstus
Varat arī izmantot funkciju run_query (), lai noņemtu ierakstus no norādītās tabulas. Viss, kas jums nepieciešams, ir iestatīt vaicājumu kā DELETE FROM.
Apsveriet šādu apakšvaicājumu:
remove = "DELETE FROM shows WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = noņemt)Iepriekš minētais vaicājums noņem izrādi “Brooklyn Nine-Nine” no izrāžu tabulas.
Secinājums
Šī apmācība ir iemācījusi, kā izmantot Python, lai piekļūtu SQLite datu bāzēm un mijiedarbotos ar tām. No tā, ko esat iemācījies no šīs apmācības, tagad varat izveidot funkcijas, izveidot savienojumu ar SQLite datu bāzēm, izveidot tabulas, ievietot datus un izdzēst tos. Lai gan šī ir iesācēja rokasgrāmata darbam ar SQLite Python, jums vajadzētu sākt mācīties citas tehnoloģijas, piemēram, SQLAlchemy un citas.