I dette kapittelet vil du lære hvordan å bruke SQLite i Python-programmer.
Installasjon
SQLite3 kan integreres med Python bruker sqlite3 modul, som ble skrevet av Gerhard Haring. Det gir en SQL-grensesnittet kompatibelt med DB-API 2.0 spesifikasjon beskrevet av PEP 249. Du trenger ikke å installere denne modulen separat fordi den er sendt med standard sammen med Python versjon 2.5.x utover.,
for Å bruke sqlite3-modulen, må du først opprette en tilkobling objekt som representerer database og deretter eventuelt kan du opprette en markøren til objektet, som vil hjelpe deg i å gjennomføre alle SQL-setninger.
Python-sqlite3 modul Api
Følgende er viktig sqlite3 modul rutiner, som kan være nok kravet til å jobbe med SQLite database fra Python-program. Hvis du er ute etter et mer avansert program, så du kan se inn Python-sqlite3 modulen er den offisielle dokumentasjonen.
Sr Nr., | API & Beskrivelse |
---|---|
1 |
sqlite3.koble til(database ) Dette API-åpner en tilkobling til SQLite database fil. Du kan bruke «:minne:» for å åpne en database tilkobling til en database som ligger i RAM i stedet for på disk. Hvis databasen er åpnet, gir det en forbindelse objekt. Når en database som brukes av flere tilkoblinger, og en av de prosesser som endrer databasen, SQLite database, som er låst til at transaksjonen er begått., For timeout-parameteren angir hvor lenge tilkoblingen skal vente til låsen for å gå bort til å heve et unntak. Standard for timeout-parameteren er 5.0 (fem sekunder). Hvis en gitt database-navnet ikke finnes, så denne samtalen vil opprette databasen. Du kan angi filnavnet med nødvendige banen så godt hvis du ønsker å opprette en database hvor som helst annet enn i den gjeldende katalogen. |
2 |
tilkobling.markøren() Denne rutinen skaper en markør som skal brukes i din database-programmering med Python., Denne metoden aksepterer en enkelt valgfri parameter cursorClass. Hvis det følger med, må dette være en tilpassede markøren klasse som strekker seg sqlite3.Markør. |
3 |
markøren.utfør(sql ) Denne rutinen utfører en SQL-setning. SQL-setningen kan være parameterized (jeg. e. plassholdere i stedet for SQL verdiane). Den sqlite3 modulen støtter to typer plassholdere: spørsmålstegn og heter plassholdere (oppkalt stil). For eksempel − markøren.utfør(«sett inn folk verdier (?, ?)», (som alder)) |
4 |
tilkobling.,utfør(sql ) Denne rutinen er en snarvei til de ovennevnte execute-metode gitt av markøren til objektet og det skaper en mellomliggende markøren objekt ved å ringe markøren metode, deretter samtaler markøren er execute-metode med parametere gitt. |
5 |
markøren.executemany(sql, seq_of_parameters) Denne rutinen kjører en SQL-kommando mot alle parameter sekvenser eller avbildninger som finnes i den rekkefølge sql. |
6 |
tilkobling.,executemany(sql) Denne rutinen er en snarvei som skaper et mellomliggende markøren objekt ved å ringe markøren metode, deretter samtaler markøren.s executemany metode med parametere gitt. |
7 |
markøren.executescript(sql_script) Denne rutinen brukes til å utføre flere SQL-setninger på en gang gitt i form av et skript. Det problemer BEGÅ en uttalelse først, deretter kjører SQL-skript for det blir som en parameter. Alle SQL-setninger bør være atskilt med en semi-kolon (;). |
8 |
tilkobling.,executescript(sql_script) Denne rutinen er en snarvei som skaper et mellomliggende markøren objekt ved å ringe markøren metode, deretter samtaler markøren er executescript metode med parametere gitt. |
9 |
tilkobling.total_changes() Denne rutinen returnerer totalt antall database rader som har blitt endret, er satt inn, eller slettet siden database forbindelse ble åpnet. |
10 |
tilkobling.commit() Denne metoden begår den aktuelle transaksjonen., Hvis du ikke kalle denne metoden, noe du gjorde etter den siste samtalen til å begå() er ikke synlig fra andre database tilkoblinger. |
11 |
tilkobling.rollback() Denne metoden ruller tilbake alle endringer i databasen siden siste samtale for å begå(). |
12 |
tilkobling.close() Denne metoden lukker database tilkobling. Merk at dette ikke automatisk ringe commit(). Hvis du bare lukke din database tilkobling uten å kalle commit() først, dine endringer vil bli borte! |
13 |
markøren.,fetchone() Denne metoden henter den neste raden av en spørring resultat, tilbake en enkelt sekvens, eller Ingen, når det ikke er mer data er tilgjengelig. |
14 |
markøren.fetchmany() Denne rutinen henter neste sett med rader av en spørring resultat, returnerer en liste. En tom liste returneres når det ikke er flere rader er tilgjengelige. Metoden forsøker å hente så mange rader som indikert av størrelse parameter. |
15 |
markøren.fetchall() Denne rutinen henter alle (gjenværende) rader av en spørring resultat, returnerer en liste., En tom liste returneres når ingen rader er tilgjengelige. |
Koble Til Database
Følgende Python-koden viser hvordan du kan koble til en eksisterende database. Hvis databasen ikke eksisterer, så vil det bli opprettet og til slutt en database objekt vil bli returnert.
#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";
Her kan du også levere database navn som den spesielle navn :minne: for å opprette en database i RAM. Nå, la oss kjøre over program til å opprette databasen vår test.db i den gjeldende katalogen. Du kan endre din vei som per kravet ditt., Hold koden ovenfor i sqlite.py filen og kjøre den, som vist nedenfor. Hvis databasen er opprettet, så det vil vise følgende melding.
$chmod +x sqlite.py$./sqlite.pyOpen database successfully
Opprette en Tabell
Følgende Python-program vil bli brukt til å opprette en tabell i tidligere opprettet databasen.
Når ovenstående program er utført, vil det skape SELSKAPET tabell i test.,db, og det vil vise følgende meldinger −
– >
Opened database successfullyTable created successfully
SETT inn Operasjon
Følgende Python-program viser hvordan du oppretter poster i SELSKAPET tabell opprettet i eksemplet ovenfor.
Når ovenstående program er utført, vil det skape den gitte poster i SELSKAPET bordet, og det vil vise følgende to linjer −
– >
Opened database successfullyRecords created successfully
VELG Drift
Følgende Python-program viser hvordan vi kan hente inn og vise poster fra SELSKAPET tabell opprettet i eksemplet ovenfor.,
Når ovenstående program er utført, det vil gi følgende resultat.
OPPDATER Drift
Følgende Python-koden viser hvordan du kan bruke UPDATE-setningen for å oppdatere oppføringen og deretter hente inn og vise den oppdaterte oppføringer fra SELSKAPET bordet.
Når ovenstående program er utført, det vil gi 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
SLETT Drift
Følgende Python-koden viser hvordan du kan bruke SLETT-setningen for å slette oppføringen og deretter hente inn og vise resterende poster fra SELSKAPET bordet.,
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