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-spesifikasjonen beskrevet av PEP 249. Du trenger ikke å installere denne modulen separat fordi det blir levert som standard sammen med Python versjon 2.5.x og utover.
Hvis du vil bruke sqlite3 modul, må du først opprette en tilkobling objekt som representerer databasen og deretter eventuelt kan du opprette markøren objekt som vil hjelpe deg med å utføre alle SQL-setninger.
Python sqlite3 modul APIer
Etter er viktige sqlite3 modul rutiner, noe som kan være nok kravet til å jobbe med SQLite database fra Python-programmet. Hvis du er ute etter en mer sofistikert program, så kan du se på Python sqlite3 modul offisielle dokumentasjonen
S.N.API &.; Description1 sqlite3.connect (database [, timeout, andre valgfrie argumenter])
Dette API åpner en tilkobling til SQLite database fil database. 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 vellykket, returnerer det en forbindelse objekt.
Når en database er tilgjengelig med flere tilkoblinger, og en av prosessene endrer databasen, SQLite database er låst til at transaksjonen er begått. Den timeout parameteren angir hvor lenge tilkoblingen skal vente på låsen for å gå bort til å heve et unntak. Standard for timeout parameter er 5,0 (fem sekunder).
Hvis gitt databasenavn ikke eksisterer da denne samtalen vil lage databasen. Du kan angi filnavn med nødvendig banen i tillegg hvis du ønsker å opprette databasen andre steder bortsett fra i gjeldende katalog.
2 connection.cursor ([cursorClass])
Denne rutinen skaper en markør
som vil bli brukt gjennom til databaseprogrammering med Python. Denne metoden kan brukes med en enkelt valgfri parameter cursorClass. Hvis levert, må dette være en tilpasset markør klasse som strekker sqlite3.Cursor.
3 cursor.execute (sql [, valgfrie parametere])
Denne rutinen utfører en SQL-setning. SQL-setningen kan (e. Plassholdere i stedet for SQL litteraler i.) Parametriseres. Den sqlite3 Modulen støtter to typer plassholdere:. Spørsmålstegn og navngitte plassholdere (oppkalt stil)
For eksempel: cursor.execute ("? Sette inn i folks verdier (,)", (hvem, alder))
4 connection.execute (sql [, valgfrie parametere])
Denne rutinen er en snarvei av ovennevnte utføre metoden levert av markøren objekt og det skaper en mellom markøren objekt ved å ringe markøren metoden kaller deretter markøren utføre metoden med parametrene gitt.
5 cursor.executemany (sql, seq_of_parameters)
Denne rutinen utfører en SQL-kommandoen mot alle parametersekvenser eller kartlegginger funnet i sekvensen sql .
6 connection.executemany (sql [, parametere])
Denne rutinen er en snarvei som skaper en mellom markøren objekt ved å ringe markøren metoden, kaller deretter cursor.s executemany metoden med parametrene gitt.
7 cursor.executescript (sql_script)
Denne rutinen utfører flere SQL-setninger på en gang gitt i form av script. Den utsteder en COMMIT-setning først, deretter utfører SQL script det blir som en parameter. Alle SQL-setninger må skilles med semikolon (;).
8 connection.executescript (sql_script)
Denne rutinen er en snarvei som skaper en mellom markøren objekt ved å ringe markøren metoden, Da kaller markørens executescript metode med parametrene gitt.
9 connection.total_changes ()
Denne rutinen returnerer det totale antallet database rader som har blitt endret, settes inn eller slettes fordi databasen forbindelse ble åpnet.
10 connection.commit ()
Denne metoden begår den aktuelle transaksjonen. Hvis du don.t kaller denne metoden, noe du gjorde siden forrige samtale for å begå () er ikke synlig fra andre databasetilkoblinger
. 11 connection.rollback ()
Denne metoden ruller tilbake eventuelle endringer i databasen siden forrige samtale for å begå
12 connection.close ()
Denne metoden lukker databasetilkoblingen ().. Merk at dette ikke automatisk ringe forplikte (). Hvis du bare lukke databasen tilkobling uten å ringe forplikte () først, vil endringene gå tapt!
13 cursor.fetchone ()
Denne metoden henter neste rad i en spørreresultatsettet, returnere en enkelt sekvens eller Ingen når ikke mer informasjon er tilgjengelig
. 14 cursor.fetchmany ([size = cursor.arraysize])
Denne rutinen henter det neste settet med rader av en spørring Dermed returnerer en liste. En tom liste returneres når ingen flere rader er tilgjengelige. Metoden forsøker å hente så mange rader som indikert av størrelsesparameter.
15 cursor.fetchall ()
Denne rutinen henter alle (gjenværende) rader av et søkeresultatet, tilbake en liste. En tom liste returneres når ingen rader er tilgjengelige.
Koble til Database
Etter Python-kode viser hvordan du kobler til en eksisterende database. .! Hvis databasen ikke eksisterer, så vil det bli opprettet, og til slutt et databaseobjekt vil bli returnert
# /usr /bin /pythonimport sqlite3conn = sqlite3.connect ('test.db') print "Åpnet database vellykket";
Her kan du også levere databasenavn som det spesielle navnet : minne:
å opprette en database i RAM. Nå, la oss kjøre over programmet til å lage vår database test.db
i gjeldende katalog. Du kan endre din vei som per kravet. Hold koden ovenfor i sqlite.py fil og kjøre den som vist nedenfor. Hvis databasen er opprettet da det vil gi følgende melding:.
$ Chmod + x sqlite.py $ /sqlite.pyOpen database hell
Lag en tabell
Etter Python-programmet vil bli brukt til å lage et bord i tidligere opprettet database:
# /usr /bin /pythonimport sqlite3conn = sqlite3.connect ('test.db') print "Åpnet database vellykket"; conn.execute ('' 'CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEKST NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), LØNN REAL); '' ') print "Table opprettet"; conn.close ()
Når programmet ovenfor er utført, det vil skape COMPANY bord i test.db Hotell og det vil vise følgende meldinger:
Åpnet database successfullyTable opprettet
Sett Operation
Etter Python program viser hvordan vi kan skape poster i vårt selskap tabellen opprettet i eksempelet ovenfor:
# /usr /bin /pythonimport sqlite3conn = sqlite3.connect ('test.db') print "Åpnet database vellykket"; conn.execute ("INSERT INTO COMPANY (ID! , navn, alder, adresse, LØNN) \\ VERDIER (1, 'Paul', 32, "California", 20000.00) "); conn.execute (" INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN) \\ VERDIER (2, 'Allen', 25 'Texas', 15000.00) "); conn.execute (" INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN) \\ VERDIER (3, 'Teddy', 23 'Norge ', 20000.00) "); conn.execute (" INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN) \\ VERDIER (4, "Mark", 25 ", Rich-Mond", 65000.00) "); tilk. forplikte () print "Records opprettet"; conn.close ()
Når programmet ovenfor er utført, vil det skape gitt poster i COMPANY bordet og vil vise følgende to linjer:
Åpnet database successfullyRecords opprettet
Velg operasjon
Etter Python program viser hvordan vi kan hente og vise poster fra vårt selskap bord opprettet i eksempelet ovenfor:
# /usr /bin /pythonimport sqlite3conn = sqlite3.connect ('test.db ') print "Åpnet database vellykket"; markøren = conn.execute ("SELECT id, navn, adresse, lønn fra selskapet") for rad i cursor: print "ID =", rad [0] print "name =", rad [1] print "ADRESSE =", rad [2] print "LØNN =", rad [3], "\\ n" print "Operation gjort med hell"; conn.close ()
Når programmet ovenfor er utført, det vil produsere følgende resultat:
Åpnet database successfullyID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation gjort med hell
UPDATE Operation
Etter Python kode viser hvordan vi kan bruke UPDATE statement å oppdatere posten og deretter hente inn og vise oppdaterte poster fra vårt selskap bordet:!
# /usr /bin /pythonimport sqlite3conn = sqlite3.connect ('test.db') print "Åpnet database vellykket"; conn.execute ("UPDATE selskapet satt LØNN = 25000.00 hvor ID = 1") conn.commitprint "Totalt antall rader oppdatert:" conn. total_changescursor = conn.execute ("SELECT id, navn, adresse, lønn fra selskapet") for rad i cursor: print "ID =", rad [0] print "name =", rad [1] print "ADRESSE =", rad [2] print "LØNN =", rad [3], "\\ n" print "Operation gjort med hell"; conn.close ()
Når programmet ovenfor er utført, det vil gi følgende resultat:
Åpnet database successfullyTotal antall rader oppdatert: 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation gjort med hell < h2> Slett Operation
Etter Python kode viser hvordan vi kan bruke DELETE-setningen til å slette posten og deretter hente og vise resterende poster fra vårt selskap bordet!
# /usr /bin /pythonimport sqlite3conn = sqlite3 Koble deg ('test.db') print "Åpnet database vellykket"; conn.execute ("SLETT fra selskap hvor ID = 2;") conn.commitprint "Totalt antall rader slettet:", conn.total_changescursor = conn.execute ("SELECT id, navn, adresse, lønn fra selskapet") for rad i cursor: print "ID =", rad [0] print "name =", rad [1] print "ADRESSE =", rad [2] print "LØNN =", rad [3], "\\ n" print "Operation gjort med hell"; conn.close ()
Når programmet ovenfor er utført, vil det produsere følgende resultat:
Åpnet database successfullyTotal antall rader slettet: 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation gjort med suksess