SQLite

Så här får du tillgång till SQLite från Python

Så här får du tillgång till SQLite från Python
Python är ett populärt och robust programmeringsspråk rikt på funktioner som gör det användbart i ett stort antal fall som datavetenskap, nätverk, IT-automatisering, penetrationstest och många fler. Den har också en enkel syntax som gör det möjligt för utvecklare som känner till andra programmeringsspråk att enkelt anpassa sig till att använda Python.Data finns överallt, och ett brett utbud av programvaruapplikationer interagerar med data med hjälp av ett databashanteringssystem. SQLite är ett av de mest populära databashanteringssystemen i Python.

SQLite är en enkel, kraftfull, öppen källkod och relationsdatabasmotor som stöder stora programvaror och inbäddade system. SQLite är fristående och kräver minimal konfiguration, vilket gör det extra enkelt att konfigurera och köra med minimal tid. Som standard kommer Python inbyggt med en SQLite-modul (sqlite3), en mycket intuitiv modul för att arbeta med SQLite-databaser i Python.

I denna handledning kommer vi att titta på hur man använder Python för att arbeta med SQLite-databaser. Från att skapa en anslutning till att skapa databaser, läsa databaser, uppdatera och ta bort databaser.

Låt oss börja med att installera SQLite:

Installerar SQLite och Python

Beroende på din Linux-distribution kan du ladda ner SQLite-arkivet från https: // www.sqlite.org / nedladdning.html eller använd pakethanteraren.

Så här installerar du det på Debian:

sudo apt-get-uppdatering
sudo apt-get install sqlite -y

Därefter bör du ha den senaste versionen av Python3 installerad. Python bör redan vara förinstallerat i din distribution som standard.

SQLite-skal

Standardmetoden för att interagera med SQLite-databaser är att använda skalet. Med skalet kan du köra SQL-kommandon inline eller en samling för att utföra funktioner på databaser.

För att starta SQLite-skalet, använd kommandot:

$ sqlite

SQLite version 2.8.17 Ange “.hjälp ”för instruktioner

sqlite>

Detta bör starta SQLite-skalet med en uppmaning som låter dig ange kommandon. Börja med att skriva kommandot .hjälp för att se skalhjälpen.

sqlite> .hjälp
.databaser Lista namn och filer på bifogade databaser
.dumpa ?TABELL?... dumpa databasen i ett textformat
.echo ON | OFF Aktivera eller inaktivera kommandoeko
.avsluta Avsluta detta program
.förklara PÅ | AV Slå på eller av utgångsläget som är lämpligt för EXPLAIN.
.header (s) ON | OFF Aktivera eller inaktivera visning av rubriker
.hjälp Visa detta meddelande
.index TABLE Visa namn på alla index på TABLE
.mode MODE Ställ in läge till en av "rad (er)", "kolumn (er)",
"infoga", "lista" eller "html"
----------------------------------------------------------------------

För att lämna SQLite-skalet använder du .avsluta kommandot.

sqlite> .sluta

Det finns andra funktioner och funktioner som du kan använda i SQLite-skalet. Om du till exempel vill visa alla databaser kan du använda .databaskommando.

Jag rekommenderar starkt att du experimenterar med SQLite-skalet och blir bekant eftersom det låter dig förstå hur du använder SQLite3-modulen i Python.

Ansluter till en databas

Låt oss nu använda Python- och SQLite3-modulerna för att interagera med SQLite-databaser. Det är bra att notera att det finns andra Python-moduler som du kan använda för att interagera med SQLite. SQLite3 är dock enkelt och levereras med Python.

Tänk på skriptet nedan för att ansluta till SQLite-databasen.

importera sqlite3 från sqlite3 importfel
def connect_db (db_path):
anslutning = inget försök:
anslutning = sqlite3.anslut (db_path)
skriv ut ("Databas ansluten framgångsrikt")
utom fel som e:
skriva ut (f "Ett fel har inträffat: e")
återkoppling
connect_db ("/ home / user / Desktop / demo.sqlite ")

Vi börjar med att importera SQLite- och Error-modulerna.
I rad 3 skapar vi en connect_db () -funktion som tar databasens väg som argument.
Nästa del innehåller ett försök / felblock. Den första delen tar databasvägen som argument och upprättar en anslutning. Observera att om den angivna databasen inte finns i SQLite skapas den automatiskt.
Felblocket försöker fånga undantag och skriver ut dem till användaren.
I den sista raden kallar vi funktionen connect_db och skickar sökvägen till den databas som vi vill använda eller skapa.

NOTERA: Om du vill skapa en minnesdatabas istället för en disk kan du ange: minne i anslutningsobjektet.

sqlite3.anslut (“: minne”)

SQLite skapa tabell

I SQLite kan vi använda SQL-skalet för att skapa tabeller med CREATE TABLE Query. Den allmänna syntaxen är som:

SKAPA TABELL databasnamn.tabellnamn (
kolumnnamn datatyp PRIMÄR KEY (kolumn (er),
kolumn2_namn datatyp,
… KolumnN_namn datatyp,
);

Jag kommer inte dyka in i att skapa tabeller med SQLite-skal eftersom vårt primära fokus är Python. Tänk på SQL Lite-dokumentationen från resursen nedan för att lära dig mer. För att använda Python- och sqlite3-modulerna för att skapa databastabeller måste vi använda markörobjektet och köra SQL-fråges funktioner. Tänk på koden nedan:

importera sqlite3 från sqlite3 importfel
def connect_db (db_path):
anslutning = Ingen
Prova:
anslutning = sqlite3.anslut (db_path)
skriv ut ("Databas ansluten framgångsrikt")
utom fel som e:
skriva ut (f "Ett fel har inträffat: e")
returnera anslutning def run_query (anslutning, sql_query):
markör = anslutning.markör ()
Prova:
markören.kör (sql_query)
förbindelse.begå()
skriv ut ("SQL Query Run Successfully… [OK]")
utom fel som e:
skriva ut (f "Frågan misslyckades ... e")
fråga = "" "
SKAPA TABELL OM INTE EXISTS visar (
id INTEGER PRIMÄR KEY AUTOINCREMENT,
namn TEXT INTE NULL,
år INTGER,
genre TEXT,
land TEXT
);
"" "
run_query (anslutning = connect_db ("/ hem / användare / Desktop / sql.sqlite "), sql_query = fråga)

Låt oss nu diskutera vad koden ovan gör - hitta den första funktionen som förklaras ovan (se). I den andra funktionen, skapa, skickar vi anslutningen och frågan att utföra som parametrar. Följande rader skapar ett markörobjekt som vi använder för att kalla exekveringsmetoden. Som nämnts ovan kallar nästa rader markörens objekt för att utföra metoden och anropssänd frågan som parameter. Blocket skriver också ut ett meddelande om lyckad Query-körning. När frågan har genomförts framgångsrikt ber vi SQLite att använda metoden commit för att spara ändringarna i databasen. Undantagsblocket fångar undantag och skriver ut felmeddelandet till användaren. Slutligen skapar vi frågan som ska köras med enkel SQLite-syntax.

SQLite Infoga poster

För att lägga till data i SQLite-databasen kan vi dyka in i funktionen run_query () som vi använde för att skapa eftersom den kan köra alla SQLite-frågor vi skickar till den. Vi använder dock INSERT INTO-frågan för att lägga till data i tabellen.

Tänk på blocket nedan:

add_shows = "" "
SÄTT IN I
visar (id, namn, år, genre, land)
VÄRDEN
("101", "Brooklyn Nine-Nine", "2013", "komedi", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
"" "run_query (connection = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)

Vi måste nu ringa funktionen run_query och lägga till passet query add_shows för att infoga data i showtabellen. Se till att tabellen du sätter in data i finns för att undvika att få ett fel.

SQLite Radera poster

Du kan också använda funktionen run_query () för att ta bort poster från den angivna tabellen. Allt du behöver är att ställa in frågan som RADERA FRÅN.

Tänk på följande delfråga:

remove = "DELETE FROM visar WHERE name = 'Brooklyn Nine-Nine'" run_query (anslutning = connect_db ("/ hem / användare / Deskop / sql.sqlite "), sql_query = ta bort)

Ovanstående fråga tar bort showen "Brooklyn Nine-Nine" från showtabellen.

Slutsats

Denna handledning har lärt dig hur du använder Python för att komma åt och interagera med SQLite-databaser. Från vad du har lärt dig från den här självstudien kan du nu skapa funktioner, ansluta till SQLite-databaser, skapa tabeller, infoga data och ta bort dem. Även om detta är en startguide för att arbeta med SQLite i Python, bör det börja lära sig andra tekniker som SQLAlchemy och liknande.

Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...
Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...
Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...