V této kapitole se dozvíte, jak používat SQLite v Python programů.
instalace
sqlite3 lze integrovat s Pythonem pomocí modulu sqlite3, který napsal Gerhard Haring. Poskytuje rozhraní SQL kompatibilní se specifikací DB-API 2.0 popsanou PEP 249. Tento modul nemusíte instalovat samostatně, protože je standardně dodáván spolu s verzí Python 2.5.x dále.,
použití sqlite3 modul, musíte nejprve vytvořit objekt připojení, který představuje databáze a pak volitelně můžete vytvořit kurzor na objekt, který vám pomůže ve vykonávání všech příkazů SQL.
API modulu Python sqlite3
následující jsou důležité rutiny modulu sqlite3, které mohou postačovat vašemu požadavku pracovat s databází SQLite z vašeho programu Python. Pokud hledáte sofistikovanější aplikaci, můžete se podívat do oficiální dokumentace modulu Python sqlite3.
Sr.No., | API & Popis |
---|---|
1 |
sqlite3.connect (database) toto API otevírá připojení k databázovému souboru SQLite. Můžete použít“: memory: „k otevření databázového připojení k databázi, která je umístěna v paměti RAM namísto na disku. Pokud je databáze úspěšně otevřena, vrátí objekt připojení. když je databáze přístupná více připojeními a jeden z procesů modifikuje databázi, databáze SQLite je uzamčena, dokud není tato transakce spáchána., Parametr timeout určuje, jak dlouho by mělo spojení čekat, až zámek zmizí, dokud nevznikne výjimka. Výchozí parametr časového limitu je 5.0 (pět sekund). pokud daný název databáze neexistuje, pak toto volání vytvoří databázi. Můžete také zadat název souboru s požadovanou cestou, pokud chcete vytvořit databázi kdekoli jinde kromě aktuálního adresáře. |
2 |
připojení.kurzor() tato rutina vytvoří kurzor, který bude použit v celém programování databáze s Pythonem., Tato metoda přijímá jediný volitelný parametr cursorbclass. Pokud je dodáván, musí to být vlastní kurzorová třída, která rozšiřuje sqlite3.Kurzor. |
3 |
kurzor.execute (sql ) tato rutina provede příkaz SQL. Příkaz SQL může být parametrizován (tj. zástupné symboly namísto literálů SQL). Modul sqlite3 podporuje dva druhy zástupných symbolů: otazníky a pojmenované zástupné symboly (pojmenovaný styl). například − kurzor.execute („vložit do hodnot lidí (?, ?) „, (who, age)) |
4 |
připojení.,execute(sql ) Tato rutina je zkratka z výše uvedených execute poskytována kurzor na objekt a vytváří meziprodukt kurzoru objekt voláním kurzor metoda, pak volání kurzor je execute metoda s parametry uvedeny. |
5 |
kurzor.executemany(sql, seq_of_parameters) Tato rutina provede SQL příkaz proti všem parametr sekvence nebo mapování nalézt v sekvenci sql. |
6 |
připojení.,executemany (sql) tato rutina je zkratka, která vytvoří mezilehlý objekt kurzoru voláním metody kurzoru a poté zavolá kurzor.s provedenímnoho metod s danými parametry. |
7 |
kurzor.executescript(sql_script) tato rutina provádí více příkazů SQL najednou poskytovaných ve formě skriptu. Nejprve vydá příkaz odevzdání a poté provede skript SQL, který získá jako parametr. Všechny příkazy SQL by měly být odděleny dvojtečkou (;). |
8 |
připojení.,executescript(sql_script) Tato rutina je zkratka, která vytváří meziprodukt kurzoru objekt voláním kurzor metoda, pak volání kurzor je metoda executescript s parametry uvedeny. |
9 |
připojení.total_changes() tato rutina vrací celkový počet řádků databáze, které byly od otevření databázového připojení upraveny, vloženy nebo smazány. |
10 |
připojení.commit () tato metoda provede revizi aktuální transakce., Pokud tuto metodu nezavoláte, nic, co jste udělali od posledního volání k odevzdání (), není viditelné z jiných databázových připojení. |
11 |
připojení.rollback () tato metoda vrací všechny změny v databázi od posledního volání k odevzdání (). |
12 |
připojení.zavřít () tato metoda zavře připojení k databázi. Všimněte si, že to automaticky nezavolá commit (). Pokud jste právě zavřete připojení k databázi bez volání commit () první, vaše změny budou ztraceny! |
13 |
kurzor.,fetchone () tato metoda načte další řádek sady výsledků dotazu, vrátí jednu sekvenci nebo žádnou, pokud nejsou k dispozici žádná další data. |
14 |
kurzor.fetchmany () tato rutina načte další sadu řádků výsledku dotazu a vrátí seznam. Prázdný seznam je vrácen, pokud nejsou k dispozici žádné další řádky. Metoda se snaží načíst tolik řádků, kolik je uvedeno parametrem velikosti. |
15 |
kurzor.fetchall () tato rutina načte všechny (zbývající) řádky výsledku dotazu a vrátí seznam., Prázdný seznam je vrácen, pokud nejsou k dispozici žádné řádky. |
Připojit K Databázi
Následující Python kód ukazuje, jak se připojit k existující databázi. Pokud databáze neexistuje, bude vytvořena a nakonec bude vrácen databázový objekt.
#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";
zde můžete také zadat název databáze jako speciální název: paměť: Chcete-li vytvořit databázi v paměti RAM. Nyní spustíme výše uvedený program a vytvoříme náš databázový test.db v aktuálním adresáři. Můžete změnit svou cestu podle vašeho požadavku., Udržujte výše uvedený kód v sqlite.py soubor a spusťte jej, jak je uvedeno níže. Pokud je databáze úspěšně vytvořena, zobrazí se následující zpráva.
$chmod +x sqlite.py$./sqlite.pyOpen database successfully
vytvořte tabulku
následující program Python bude použit k vytvoření tabulky v dříve vytvořené databázi.
po provedení výše uvedeného programu vytvoří ve vašem testu firemní tabulku.,db a zobrazí následující zprávy −
Opened database successfullyTable created successfully
VLOŽIT Operace
Následující Python program ukazuje, jak vytvořit záznamy ve SPOLEČNOSTI tabulka vytvořené v příkladu výše.
Když se výše uvedený program je spuštěn, bude to vytvořit dané záznamy ve SPOLEČNOSTI tabulce a zobrazí se následující dva řádky −
Opened database successfullyRecords created successfully
VYBERTE Operace
Následující Python program ukazuje, jak k načtení a zobrazení záznamů z FIRMY tabulka vytvořené v příkladu výše.,
když je výše uvedený program spuštěn, vytvoří následující výsledek.
operace aktualizace
následující kód Pythonu ukazuje, jak použít příkaz aktualizace k aktualizaci jakéhokoli záznamu a poté načíst a zobrazit aktualizované záznamy z tabulky společnosti.
když je výše uvedený program spuštěn, vytvoří následující výsledek.
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
ODSTRANIT Operace
Následující Python kód ukazuje, jak použít příkaz DELETE smazat jakýkoliv záznam a pak načíst a zobrazit zbývající záznamy od SPOLEČNOSTI tabulce.,
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