SQLite

Kako pristupiti SQLiteu s Pythona

Kako pristupiti SQLiteu s Pythona
Python je popularan i robustan programski jezik bogat značajkama koje ga čine upotrebljivim u širokom spektru slučajeva poput znanosti o podacima, umrežavanja, informatičke automatizacije, testiranja penetracije i mnogih drugih. Također ima jednostavnu sintaksu koja omogućava programerima koji poznaju druge programske jezike da se s lakoćom prilagode korištenju Pythona.Podaci su posvuda, a širok raspon softverskih aplikacija komunicira s podacima pomoću sustava za upravljanje bazom podataka. SQLite je jedan od najpopularnijih sustava za upravljanje bazama podataka u Pythonu.

SQLite je jednostavan, moćan, open-source i relacijski mehanizam baze podataka koji podržava velike softverske aplikacije i ugrađene sustave. SQLite je samostalan i zahtijeva minimalnu konfiguraciju, što ga čini vrlo jednostavnim za postavljanje i pokretanje uz minimalno vrijeme. Prema zadanim postavkama Python ima ugrađeni SQLite modul (sqlite3), vrlo intuitivan modul za rad s SQLite bazama podataka u Pythonu.

U ovom ćemo uputstvu pogledati kako koristiti Python za rad s SQLite bazama podataka. Od uspostavljanja veze do stvaranja baza podataka, čitanja baza podataka, ažuriranja i uklanjanja baza podataka.

Krenimo od instaliranja SQLite:

Instaliranje SQLitea i Pythona

Ovisno o vašoj Linux distribuciji, SQLite arhivu možete preuzeti s https: // www.sqlite.org / preuzimanje.html ili upotrijebite upravitelj paketa.

Da biste ga instalirali na Debian:

sudo apt-get ažuriranje
sudo apt-get install sqlite -y

Dalje, trebali biste instalirati najnoviju verziju Python3. Python bi trebao biti unaprijed instaliran u vašu distribuciju prema zadanim postavkama.

SQLite ljuska

Zadana metoda interakcije s bazama podataka SQLite je upotreba ljuske. Ljuska vam omogućuje izvršavanje SQL naredbi u redu ili zbirke za izvršavanje funkcija na bazama podataka.

Da biste pokrenuli SQLite ljusku, upotrijebite naredbu:

$ sqlite

SQLite verzija 2.8.17 Unesite “.pomoć ”za upute

sqlite>

To bi trebalo pokrenuti SQLite ljusku s odzivom koji vam omogućuje unos naredbi. Započnite upisivanjem naredbe .pomoć za pregled ljuske help.

sqlite> .Pomozite
.baze podataka Popis imena i datoteka priloženih baza podataka
.istovariti ?STOL?... Izbaci bazu podataka u tekstualni format
.echo ON | OFF Uključite ili isključite naredbu echo
.izlaz Izlaz iz ovog programa
.objasniti UKLJUČENO | ISKLJUČENO Uključiti ili isključiti način izlaza pogodan za OBJASNITI.
.header (s) ON | OFF Uključite ili isključite prikaz zaglavlja
.pomoć Prikaži ovu poruku
.indeksi TABLA Prikazuju imena svih indeksa na TABELI
.mod MODE Postavite način rada na jedan od "line (s)", "column (s)",
"insert", "list" ili "html"
----------------------------------------------------------------------

Da biste izašli iz ljuske SQLite, upotrijebite .quit naredba.

sqlite> .prestati

Postoje i druge funkcije i operacije koje možete koristiti unutar SQLite ljuske. Na primjer, za prikaz svih baza podataka možete koristiti .naredba baze podataka.

Toplo preporučujem da eksperimentirate s SQLite školjkom i upoznate se jer će vam to omogućiti da razumijete kako koristiti SQLite3 modul u Pythonu.

Povezivanje s bazom podataka

Krenimo sada modulima Python i SQLite3 za interakciju s bazama podataka SQLite. Dobro je napomenuti da postoje i drugi Python moduli koje možete koristiti za interakciju s SQLiteom. Međutim, SQLite3 je jednostavan i dolazi u paketu s Pythonom.

Razmotrite skriptu u nastavku da biste se povezali s bazom podataka SQLite.

import sqlite3 from sqlite3 import Error
def connect_db (db_path):
veza = Nijedan pokušaj:
veza = sqlite3.povezati (db_path)
ispis ("Baza podataka uspješno povezana")
osim Pogreška kao e:
print (f "Dogodila se pogreška: e")
povratna veza
connect_db ("/ home / user / Desktop / demo.sqlite ")

Počinjemo s uvozom modula SQLite i Error.
U retku 3 kreiramo funkciju connect_db () koja uzima put baze podataka kao argument.
Sljedeći dio uključuje blok pokušaj / pogreška. Prvi dio uzima put baze podataka kao argument i uspostavlja vezu. Napomena, u SQLiteu, ako navedena baza podataka ne postoji, automatski se kreira.
Blok pogreške pokušava uhvatiti iznimke i ispisati ih korisniku.
U završnom retku pozivamo funkciju connect_db i prosljeđujemo put do baze podataka koju želimo koristiti ili stvoriti.

BILJEŠKA: Ako želite stvoriti memorijsku bazu podataka umjesto diska, možete odrediti: memory u povezujućem obj.

sqlite3.povezati (“: memorija”)

SQLite Stvori tablicu

U SQLiteu možemo koristiti SQL ljusku za stvaranje tablica pomoću upita CREATE TABLE. Općenita je sintaksa:

IZRADI TABLICU ime_baze podataka.ime_tabele (
naziv_ stupca tip podataka OSNOVNI KLJUČ (stupac (i)),
vrsta podataka stupca2_ime,
… Vrsta podataka stupcaN_naziv,
);

Neću se upuštati u stvaranje tablica pomoću SQLite ljuske jer je naš primarni fokus Python. Da biste saznali više, razmotrite dokumentaciju SQL Lite iz izvora u nastavku. Sada, da bismo koristili Python i sqlite3 module za stvaranje tablica baze podataka, trebamo koristiti objekt kursora i izvršiti funkcije SQL upita. Razmotrite donji kod:

import sqlite3 from sqlite3 import Error
def connect_db (db_path):
veza = Nema
probati:
veza = sqlite3.povezati (db_path)
ispis ("Baza podataka uspješno povezana")
osim Pogreška kao e:
print (f "Dogodila se pogreška: e")
vrati vezu def run_query (veza, sql_query):
kursor = veza.pokazivač ()
probati:
kursor.izvršiti (sql_query)
povezanost.počiniti()
ispis ("SQL upit uspješno pokrenut ... [U redu]")
osim Pogreška kao e:
ispis (f "Upit nije uspio ... e")
upit = "" "
STVARI TABELU AKO NE POSTOJI prikazuje (
id INTEGER PRIMARNI KLJUČ AUTOINCREMENT,
ime TEKST NIJE NULL,
godine INTGER,
ŽANR TEKST,
zemlja TEKST
);
"" "
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = upit)

Razgovarajmo sada o tome što radi gornji kôd - pronaći prvu prethodno objašnjenu funkciju (molimo pogledajte). U drugoj funkciji, create, prosljeđujemo vezu i upit koji ćemo izvršiti kao parametre. Sljedeći redovi stvaraju objekt kursora koji ćemo koristiti za pozivanje metode izvršavanja. Kao što je gore spomenuto, sljedeći retci pozivaju objekt kursora da izvrši metodu i poziv prosljeđuju upit kao parametar. Blok također ispisuje poruku o uspješnom izvršavanju upita. Nakon što se upit uspješno izvrši, kažemo SQLiteu da koristi metodu predavanja za spremanje promjena u bazu podataka. Blok osim hvata iznimke i korisniku ispisuje poruku o pogrešci. Konačno, kreiramo Upit za izvršavanje pomoću jednostavne sintakse SQLite.

SQLite Umetanje zapisa

Da bismo dodali podatke u bazu podataka SQLite, možemo zaroniti u funkciju run_query () koju smo koristili za izradu jer može pokrenuti bilo koji SQLite upit koji joj proslijedimo. Međutim, koristimo upit INSERT INTO za dodavanje podataka u tablicu.

Razmotrite donji blok:

add_shows = "" "
UMETNUTI U
emisije (id, ime, godina, žanr, država)
VRIJEDNOSTI
("101", "Brooklyn Nine-Nine", "2013", "komedija", "SAD"),
("201", "Zvjezdane staze: Otkriće", "2017.", "Sci-Fi", "SAD"),
("301", "Zvjezdane staze: Picard", "2020", "Sci-Fi", "SAD");
"" "run_query (connection = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)

Sada moramo pozvati funkciju run_query i dodati prosljeđivanje upita add_shows za umetanje podataka u tablicu pokazuje. Provjerite postoji li tablica u koju unosite podatke kako biste izbjegli pogrešku.

SQLite Delete Records

Također možete koristiti funkciju run_query () za uklanjanje zapisa iz navedene tablice. Sve što trebate je postaviti upit kao IZBRIŠI.

Razmotrite sljedeći podupit:

remove = "DELETE FROM prikazuje WHERE name = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = ukloni)

Gornji upit uklanja emisiju "Brooklyn Nine-Nine" iz tablice emisija.

Zaključak

Ovaj vas je vodič naučio kako koristiti Python za pristup bazama podataka SQLite i interakciju s njima. Iz onoga što ste naučili iz ovog vodiča, sada možete stvarati funkcije, povezivati ​​se s bazama podataka SQLite, stvarati tablice, umetati podatke i brisati ih. Iako je ovo početni vodič za rad sa SQLiteom u Pythonu, trebao bi započeti s učenjem drugih tehnologija poput SQLAlchemy i slično.

OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...