SQLite

Kā piekļūt SQLite no Python

Kā piekļūt SQLite no Python
Python ir populāra un izturīga programmēšanas valoda, kas bagāta ar funkcijām, kas padara to lietojamu daudzos gadījumos, piemēram, datu zinātne, tīklošana, IT automatizācija, iespiešanās pārbaude un daudzi citi. Tam ir arī vienkārša sintakse, kas ļauj izstrādātājiem, kuri zina citas programmēšanas valodas, viegli pielāgoties Python lietošanai.Dati ir visur, un plašs lietojumprogrammu klāsts mijiedarbojas ar datiem, izmantojot datu bāzes pārvaldības sistēmu. SQLite ir viena no populārākajām Python datu bāzu pārvaldības sistēmām.

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ājums
sudo 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:

$ sqlite

SQLite 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> .atmest

SQLite č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ļūda
def 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ļūda
def 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.

Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...
Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...
Labākās Linux spēļu gamepad kartēšanas lietotnes
Ja jums patīk spēlēt spēles Linux ar parastu tastatūru, nevis parasto tastatūru un peles ievades sistēmu, jums ir dažas noderīgas lietotnes. Daudzas d...