i det här kapitlet lär du dig hur du använder SQLite i Python-program.
Installation
SQLite3 kan integreras med Python med sqlite3 modul, som skrevs av Gerhard Haring. Det ger ett SQL-gränssnitt som överensstämmer med DB-API 2.0-specifikationen som beskrivs av PEP 249. Du behöver inte installera den här modulen separat eftersom den levereras som standard tillsammans med Python version 2.5.x framåt.,
om du vill använda sqlite3-modulen måste du först skapa ett anslutningsobjekt som representerar databasen och sedan eventuellt kan du skapa ett markörobjekt som hjälper dig att utföra alla SQL-satser.
Python sqlite3 modul API
Följande är viktiga sqlite3 modul rutiner, vilket kan räcka ditt krav att arbeta med SQLite databas från Python-programmet. Om du letar efter en mer sofistikerad applikation kan du titta på Python sqlite3-modulens officiella dokumentation.
Sr.No. – herr talman!, | API& beskrivning |
---|---|
1 |
sqlite3.connect (database ) detta API öppnar en anslutning till SQLite databasfilen. Du kan använda”: memory: ”för att öppna en databasanslutning till en databas som finns i RAM istället för på disk. Om databasen öppnas framgångsrikt returnerar den ett anslutningsobjekt. När en databas nås av flera anslutningar, och en av processerna ändrar databasen, låses SQLite-databasen tills transaktionen begås., Parametern timeout anger hur länge anslutningen ska vänta på att låset ska försvinna tills ett undantag höjs. Standardinställningen för parametern timeout är 5,0 (fem sekunder). om det angivna databasnamnet inte finns kommer det här samtalet att skapa databasen. Du kan också ange filnamn med önskad sökväg om du vill skapa en databas någon annanstans utom i den aktuella katalogen. |
2 |
anslutning.cursor () denna rutin skapar en markör som kommer att användas under hela din databasprogrammering med Python., Denna metod accepterar en enda valfri parameter cursorClass. Om det medföljer måste detta vara en anpassad markörklass som utökar sqlite3.Muspekare. |
3 |
markör.execute (sql ) denna rutin Utför en SQL-sats. SQL-satsen kan parametreras (dvs platshållare istället för SQL-Literaler). Sqlite3-modulen stöder två typer av platshållare: frågetecken och namngivna platshållare (namngiven stil). till exempel − markör.exekvera (”infoga i folk värden (?, ?) ”, (who, ålder)) |
4 |
anslutning.,execute (sql) denna rutin är en genväg till ovanstående exekveringsmetod som tillhandahålls av markörobjektet och det skapar ett mellanliggande markörobjekt genom att anropa markörmetoden och anropar sedan markörens exekveringsmetod med de angivna parametrarna. |
5 |
markör.executemany (sql, seq_of_parameters) denna rutin Utför ett SQL-kommando mot alla parametersekvenser eller mappningar som finns i sekvensen sql. |
6 |
anslutning.,executemany (sql) denna rutin är en genväg som skapar ett mellanliggande markörobjekt genom att anropa markörmetoden och anropar sedan markören.s executemany metod med de angivna parametrarna. |
7 |
markör.executescript (sql_script) denna rutin utför flera SQL-satser samtidigt som de tillhandahålls i form av skript. Det utfärdar en COMMIT-sats först och kör sedan SQL-skriptet som det blir som en parameter. Alla SQL-satser ska separeras med ett halvkolon (;). |
8 |
anslutning.,executescript (sql_script) den här rutinen är en genväg som skapar ett mellanliggande markörobjekt genom att anropa markörmetoden och anropar sedan markörens executescript-metod med de angivna parametrarna. |
9 |
anslutning.total_changes () denna rutin returnerar det totala antalet databasrader som har ändrats, infogats eller tagits bort sedan databasanslutningen öppnades. |
10 |
anslutning.commit () denna metod förbinder den aktuella transaktionen., Om du inte anropar den här metoden är allt du gjorde sedan det senaste Anropet att begå() inte synligt från andra databasanslutningar. |
11 |
anslutning.rollback () denna metod rullar tillbaka eventuella ändringar i databasen sedan det senaste samtalet att begå(). |
12 |
anslutning.stäng() den här metoden stänger databasanslutningen. Observera att detta inte automatiskt anropar begå (). Om du bara stänger din databasanslutning utan att ringa commit () först kommer dina ändringar att gå förlorade! |
13 |
markör.,hämta () den här metoden hämtar nästa rad i en sökresultatuppsättning, returnerar en enda sekvens eller ingen när inga fler data är tillgängliga. |
14 |
markör.hämta () denna rutin hämtar nästa uppsättning rader med ett frågeresultat och returnerar en lista. En tom lista returneras när inga fler rader är tillgängliga. Metoden försöker hämta så många rader som indikeras av storleksparametern. |
15 |
markör.hämta () denna rutin hämtar alla (återstående) rader av ett frågeresultat och returnerar en lista., En tom lista returneras när inga rader är tillgängliga. |
Anslut till databasen
följande Python-kod visar hur du ansluter till en befintlig databas. Om databasen inte existerar kommer den att skapas och slutligen kommer ett databasobjekt att returneras.
#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";
Här kan du också ange databasnamn som specialnamn :minne: för att skapa en databas i RAM. Nu kör vi ovanstående program för att skapa vårt databastest.db i den aktuella katalogen. Du kan ändra din väg enligt dina krav., Förvara ovanstående kod i sqlite.py fil och köra det som visas nedan. Om databasen har skapats kommer den att visa följande meddelande.
$chmod +x sqlite.py$./sqlite.pyOpen database successfully
skapa en tabell
följande Python-program kommer att användas för att skapa en tabell i den tidigare skapade databasen.
När ovanstående program körs kommer det att skapa FÖRETAGSTABELLEN i ditt test.,db och det kommer att visa följande meddelanden –
Opened database successfullyTable created successfully
infoga Operation
följande Python-program visar hur man skapar poster i företagstabellen som skapats i exemplet ovan.
När ovanstående program körs kommer det att skapa de givna posterna i FÖRETAGSTABELLEN och det kommer att visa följande två rader −
Opened database successfullyRecords created successfully
välj Operation
följande Python-program visar hur du hämtar och visar poster från FÖRETAGSTABELLEN som skapats i ovanstående exempel.,
När ovanstående program körs kommer det att ge följande resultat.
UPPDATERINGSOPERATION
följande Python-kod visar hur du använder uppdateringsdeklaration för att uppdatera en post och sedan hämta och visa de uppdaterade posterna från företagstabellen.
När ovanstående program körs kommer det att ge följande resultat.
Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
DELETE Operation
följande Python-kod visar hur du använder DELETE-sats för att radera en post och sedan hämta och visa de återstående posterna från företagstabellen.,
When the above program is executed, it will produce the following result.
Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully