SQLite

Sådan får du adgang til SQLite fra Python

Sådan får du adgang til SQLite fra Python
Python er et populært og robust programmeringssprog rig på funktioner, der gør det anvendeligt i en lang række tilfælde som datalogi, netværk, it-automatisering, penetrationstest og mange flere. Det har også en simpel syntaks, der gør det muligt for udviklere, der kender andre programmeringssprog, let at tilpasse sig brugen af ​​Python.Data er overalt, og en bred vifte af softwareapplikationer interagerer med data ved hjælp af et databasestyringssystem. SQLite er et af de mest populære databasestyringssystemer i Python.

SQLite er en enkel, kraftfuld, open source og relationsdatabasemotor, der understøtter store softwareapplikationer og indlejrede systemer. SQLite er enkeltstående og kræver minimal konfiguration, hvilket gør det ekstra nemt at opsætte og køre med minimal tid. Som standard kommer Python indbygget med et SQLite-modul (sqlite3), et meget intuitivt modul til at arbejde med SQLite-databaser i Python.

I denne vejledning vil vi se på, hvordan man bruger Python til at arbejde med SQLite-databaser. Fra oprettelse af en forbindelse til oprettelse af databaser, læsning af databaser, opdatering og fjernelse af databaser.

Lad os starte med at installere SQLite:

Installation af SQLite og Python

Afhængigt af din Linux-distribution kan du downloade SQLite-arkivet fra https: // www.sqlite.org / download.html eller brug pakkehåndteringen.

Sådan installeres det på Debian:

sudo apt-get opdatering
sudo apt-get install sqlite -y

Dernæst skal du have den nyeste version af Python3 installeret. Python skal allerede være forudinstalleret i din distribution som standard.

SQLite Shell

Standardmetoden til at interagere med SQLite-databaser er at bruge skallen. Skallen giver dig mulighed for at udføre SQL-kommandoer inline eller en samling for at udføre funktioner på databaser.

For at starte SQLite-skalen skal du bruge kommandoen:

$ sqlite

SQLite version 2.8.17 Indtast “.hjælp ”for instruktioner

sqlite>

Dette skal starte SQLite-shell med en prompt, der giver dig mulighed for at indtaste kommandoer. Start med at skrive kommandoen .hjælp til at se shell-hjælp.

sqlite> .Hjælp
.databaser Liste over navne og filer på vedhæftede databaser
.dump ?BORD?… Dump databasen i et tekstformat
.echo ON | OFF Slå kommandoekko til eller fra
.afslut Afslut dette program
.forklar TIL | FRA Slå outputtilstand, der er egnet til EXPLAIN, til eller fra.
.header (s) ON | OFF Slå displayet af headers til eller fra
.hjælp Vis denne besked
.indices TABLE Vis navne på alle indekser på TABLE
.mode MODE Indstil tilstand til en af ​​"linje (r)", "kolonne (r)",
"indsæt", "liste" eller "html"
----------------------------------------------------------------------

For at forlade SQLite-skalen skal du bruge .afslut kommando.

sqlite> .Afslut

Der er andre funktioner og operationer, du kan bruge inde i SQLite-shell. For at se alle databaser kan du f.eks. Bruge .database kommando.

Jeg anbefaler stærkt, at du eksperimenterer med SQLite-shell og bliver fortrolig, da det giver dig mulighed for at forstå, hvordan du bruger SQLite3-modulet i Python.

Opretter forbindelse til en database

Lad os nu bruge Python- og SQLite3-moduler til at interagere med SQLite-databaser. Det er godt at bemærke, at der er andre Python-moduler, du kan bruge til at interagere med SQLite. SQLite3 er dog enkel og leveres med Python.

Overvej scriptet nedenfor for at oprette forbindelse til SQLite-databasen.

import sqlite3 fra sqlite3 importfejl
def connect_db (db_path):
forbindelse = Ingen prøv:
forbindelse = sqlite3.tilslut (db_path)
udskrive ("Database tilsluttet med succes")
undtagen Fejl som e:
print (f "Der er opstået en fejl: e")
returforbindelse
connect_db ("/ hjem / bruger / Desktop / demo.sqlite ")

Vi starter med at importere SQLite- og Error-modulerne.
I linje 3 opretter vi en connect_db () -funktion, der tager databasens sti som argumentet.
Den næste del inkluderer en prøve / fejlblok. Den første del tager databasestien som argument og opretter en forbindelse. Bemærk, at hvis den angivne database ikke findes i SQLite, oprettes den automatisk.
Fejlblokken forsøger at fange undtagelser og udskriver dem til brugeren.
I den sidste linje kalder vi connect_db-funktionen og sender stien til den database, vi vil bruge eller oprette.

BEMÆRK: Hvis du vil oprette en hukommelsesdatabase i stedet for en disk, kan du angive: hukommelse i forbindelsesobjektet.

sqlite3.tilslut (“: hukommelse”)

SQLite Opret tabel

I SQLite kan vi bruge SQL-shell til at oprette tabeller ved hjælp af CREATE TABLE Query. Den generelle syntaks er som:

OPRET TABEL database_navn.tabelnavn (
kolonnenavn datatype PRIMÆR NØGLE (kolonne (r)),
kolonne2_navn datatype,
… KolonneN_navn datatype,
);

Jeg dykker ikke ned i oprettelse af tabeller ved hjælp af SQLite shell, da vores primære fokus er Python. Overvej SQL Lite-dokumentationen fra nedenstående ressource for at lære mere. For at bruge Python- og sqlite3-modulerne til at oprette databasetabeller skal vi bruge markørobjektet og udføre SQL-forespørgsler 'funktioner. Overvej koden nedenfor:

import sqlite3 fra sqlite3 importfejl
def connect_db (db_path):
forbindelse = Ingen
prøve:
forbindelse = sqlite3.tilslut (db_path)
udskriv ("Database tilsluttet med succes")
undtagen Fejl som e:
print (f "Der er opstået en fejl: e")
returforbindelse def run_query (forbindelse, sql_query):
markør = forbindelse.cursoren()
prøve:
cursoren.udfør (sql_query)
forbindelse.begå()
udskrive ("SQL-forespørgsel kørt med succes ... [OK]")
undtagen Fejl som e:
udskriv (f "Forespørgsel mislykkedes ... e")
forespørgsel = "" "
Opret TABEL, HVIS IKKE EKSISTER viser (
id INTEGER PRIMÆR NØGLE AUTOINCREMENT,
navn TEKST IKKE NULL,
år INTGER,
genre TEKST,
land TEKST
);
"" "
run_query (forbindelse = connect_db ("/ hjem / bruger / Desktop / sql.sqlite "), sql_query = forespørgsel)

Lad os nu diskutere, hvad koden ovenfor finder den første funktion, der er forklaret ovenfor (se venligst). I den anden funktion, Opret, sender vi forbindelsen og forespørgslen til at udføre som parametre. De følgende linjer opretter et markørobjekt, som vi vil bruge til at kalde metoden execute. Som nævnt ovenfor kalder de næste linjer markørens objekt for at udføre metoden og kalde passere forespørgslen som parameter. Blokken udskriver også en besked om vellykket udførelse af forespørgsel. Når forespørgslen er udført med succes, fortæller vi SQLite at bruge commit-metoden til at gemme ændringerne i databasen. Den undtagen blok fanger undtagelser og udskriver fejlmeddelelsen til brugeren. Endelig opretter vi forespørgslen, der skal udføres ved hjælp af enkel SQLite-syntaks.

SQLite indsæt poster

For at tilføje data til SQLite-databasen kan vi dykke ned i funktionen run_query (), vi brugte til at oprette, da den kan køre enhver SQLite-forespørgsel, vi sender til den. Vi bruger dog INSERT INTO-forespørgslen til at føje data til tabellen.

Overvej blokken nedenfor:

add_shows = "" "
INDSÆT I
viser (id, navn, år, genre, land)
VÆRDIER
("101", "Brooklyn Nine-Nine", "2013", "komedie", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
"" "run_query (forbindelse = connect_db (" / hjem / bruger / Desktop / sql.sqlite "), sql_query = add_shows)

Vi skal nu kalde run_query-funktionen og tilføje passet forespørgslen add_shows for at indsætte data til showtabellen. Sørg for, at den tabel, du indsætter data i, findes for at undgå at få en fejl.

SQLite Slet poster

Du kan også bruge funktionen run_query () til at fjerne poster fra den angivne tabel. Alt hvad du behøver er at indstille forespørgslen som SLET FRA.

Overvej følgende underforespørgsel:

remove = "SLET FRA viser WHERE navn = 'Brooklyn Nine-Nine'" run_query (forbindelse = connect_db ("/ hjem / bruger / Deskop / sql.sqlite "), sql_query = fjern)

Ovenstående forespørgsel fjerner showet "Brooklyn Nine-Nine" fra showtabellen.

Konklusion

Denne vejledning har lært dig, hvordan du bruger Python til at få adgang til og interagere med SQLite-databaser. Fra det, du har lært fra denne vejledning, kan du nu oprette funktioner, oprette forbindelse til SQLite-databaser, oprette tabeller, indsætte data og slette dem. Selvom dette er en startvejledning til at arbejde med SQLite i Python, skal det komme i gang med at lære andre teknologier som SQLAlchemy og sådan.

Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...