I dette kapitel vil du lære at bruge SQLite i Python-programmer.
Installation
S .lite3 kan integreres med Python ved hjælp af S .lite3 modul, som blev skrevet af Gerhard Haring. Det giver en s .l-grænseflade, der er kompatibel med DB-API 2.0-specifikationen beskrevet af pep 249. Du behøver ikke at installere dette modul separat, fordi det leveres som standard sammen med Python version 2.5.onwards fremefter.,
for At bruge sqlite3-modul, skal du først oprette en forbindelse objekt, der repræsenterer databasen, og så eventuelt kan du oprette en markør objekt, som vil hjælpe dig i at udføre alle de SQL-sætninger.
Python-sqlite3-modul Api ‘ er
Følgende er vigtigt sqlite3-modul rutiner, som kan være tilstrækkeligt dine behov for at arbejde med SQLite-database fra dine Python-program. Hvis du leder efter en mere sofistikeret applikation, kan du undersøge Python s .lite3-modulets officielle dokumentation.
Sr. Nr., | API & Beskrivelse |
---|---|
1 |
sqlite3.connect (database ) denne API åbner en forbindelse til S .lite-databasefilen. Du kan bruge “:hukommelse:” for at åbne en databaseforbindelse til en database, der findes i RAM i stedet for på disken. Hvis databasen åbnes med succes, returnerer den et forbindelsesobjekt. når en database åbnes af flere forbindelser, og en af processerne ændrer databasen, er s .lite-databasen låst, indtil transaktionen er begået., Timeout-parameteren angiver, hvor længe forbindelsen skal vente på, at låsen forsvinder, indtil der hæves en undtagelse. Standard for timeout-parameteren er 5,0 (fem sekunder). Hvis det givne databasenavn ikke findes, opretter dette opkald databasen. Du kan også angive filnavn med den ønskede sti, hvis du vil oprette en database andre steder undtagen i den aktuelle mappe. |
2 |
forbindelse.cursor () denne rutine skaber en markør, som vil blive brugt i hele din database programmering med Python., Denne metode accepterer en enkelt valgfri parameter cursorClass. Hvis det leveres, skal dette være en brugerdefineret markørklasse, der udvider s .lite3.Markør. |
3 |
markør.udfør (s .l ) denne rutine udfører en s .l-sætning. S .l-sætningen kan parametriseres (dvs. pladsholdere i stedet for S .l-bogstaver). S .lite3-modulet understøtter to slags pladsholdere: spørgsmålstegn og navngivne pladsholdere (navngivet stil). For eksempel − markør.udfør (“indsæt i folks værdier (?, ?) “, (hvem, alder)) |
4 |
forbindelse.,udfør (s .l ) denne rutine er en genvej til ovenstående eksekveringsmetode leveret af markørobjektet, og den opretter et mellemliggende markørobjekt ved at kalde markørmetoden og kalder derefter markørens eksekveringsmetode med de givne parametre. |
5 |
markør.e .ecutemany (s .l, se ._of_parameters) denne rutine udfører en s .l-kommando mod alle parametersekvenser eller mappings, der findes i sekvensen s .l. |
6 |
forbindelse.,e .ecutemany (s .l) denne rutine er en genvej, der opretter et mellemliggende markørobjekt ved at kalde markørmetoden og derefter kalde markøren.s eksekveremenhver metode med de givne parametre. |
7 |
markør.e .ecutescript (s .l_script) denne rutine udfører flere S .l-sætninger på providedn gang i form af script. Det udsteder en COMMIT erklæring først, derefter udfører s .l script det får som en parameter. Alle s .l-sætninger skal adskilles af et semikolon (;). |
8 |
forbindelse.,e .ecutescript (s .l_script) denne rutine er en genvej, der opretter et mellemliggende markørobjekt ved at kalde markørmetoden og derefter kalde markørens e .ecutescript-metode med de givne parametre. |
9 |
forbindelse.total_changes () denne rutine returnerer det samlede antal databaserækker, der er blevet ændret, indsat eller slettet siden databaseforbindelsen blev åbnet. |
10 |
forbindelse.commit () denne metode forpligter den aktuelle transaktion., Hvis du ikke kalder denne metode, er noget, du gjorde siden det sidste opkald til at forpligte (), ikke synligt fra andre databaseforbindelser. |
11 |
forbindelse.rollback () denne metode ruller tilbage eventuelle ændringer i databasen siden sidste opfordring til at begå (). |
12 |
forbindelse.luk () denne metode lukker databaseforbindelsen. Bemærk, at dette ikke automatisk kalder commit (). Hvis du bare lukker din databaseforbindelse uden at kalde commit() først, vil dine ændringer gå tabt! |
13 |
markør.,fetchone () denne metode henter den næste række i et forespørgselsresultatsæt, returnerer en enkelt sekvens eller ingen, når der ikke er flere data tilgængelige. |
14 |
markør.Fetchmany () denne rutine henter det næste sæt rækker af et forespørgselsresultat, der returnerer en liste. En tom liste returneres, når der ikke er flere rækker til rådighed. Metoden forsøger at hente så mange rækker som angivet med størrelsesparameteren. |
15 |
markør.fetchall () denne rutine henter alle (resterende) rækker af et forespørgselsresultat ved at returnere en liste., En tom liste returneres, når ingen rækker er tilgængelige. |
Opret forbindelse til Database
følgende Python-kode viser, hvordan du opretter forbindelse til en eksisterende database. Hvis databasen ikke findes, oprettes den, og til sidst returneres et databaseobjekt.
#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";
Her kan du også levere databasenavn som det specielle navn :hukommelse: for at oprette en database i RAM. Lad os nu køre ovenstående program for at oprette vores databasetest.dB i den aktuelle mappe. Du kan ændre din vej som pr dine krav., Opbevar ovenstående kode i sqlite.py fil og udføre det som vist nedenfor. Hvis databasen er oprettet med succes, viser den følgende meddelelse.
$chmod +x sqlite.py$./sqlite.pyOpen database successfully
Opret en tabel
følgende Python-program vil blive brugt til at oprette en tabel i den tidligere oprettede database.
Når ovenstående program udføres, opretter det VIRKSOMHEDSTABELLEN i din test.,db, og det vil vise følgende meddelelser −
Opened database successfullyTable created successfully
INDSÆT Drift
Følgende Python-program viser, hvordan du opretter poster i SELSKABET tabel, der er oprettet i ovenstående eksempel.
Når ovenstående program er gennemført, vil det skabe den givne poster i VIRKSOMHEDEN bordet, og det vil vise følgende to linjer −
Opened database successfullyRecords created successfully
VÆLG handling
Følgende Python-program viser, hvordan du kan hente og vise poster fra SELSKABET tabel, der er oprettet i ovenstående eksempel.,
når ovenstående program udføres, vil det give følgende resultat.
opdateringsoperation
efter Python-kode viser, hvordan man bruger OPDATERINGSERKLÆRING til at opdatere en post og derefter hente og vise de opdaterede poster fra VIRKSOMHEDSTABELLEN.
når ovenstående program udføres, vil det give følgende 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
slet Operation
efter Python-kode viser, hvordan man bruger slet-erklæring til at slette en post og derefter hente og vise de resterende poster fra VIRKSOMHEDSTABELLEN.,
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