Az SQLite egy egyszerű, hatékony, nyílt forráskódú és relációs adatbázis-motor, amely nagy szoftveralkalmazásokat és beágyazott rendszereket támogat. Az SQLite önálló és minimális konfigurációt igényel, így rendkívül könnyű beállítani és futtatni minimális idővel. Alapértelmezés szerint a Python egy SQLite modullal (sqlite3) van beépítve, amely egy nagyon intuitív modul az SQLite adatbázisokkal való munkához a Pythonban.
Ebben az oktatóanyagban megvizsgáljuk, hogyan lehet a Pythont használni az SQLite adatbázisokkal való munkához. A kapcsolat létrehozásától kezdve az adatbázisok létrehozásáig, az adatbázisok olvasásáig, az adatbázisok frissítéséig és eltávolításáig.
Kezdjük az SQLite telepítésével:
Az SQLite és a Python telepítése
Linux disztribúciójától függően letöltheti az SQLite archívumot a https: // www webhelyről.sqlite.org / letöltés.html vagy használja a csomagkezelőt.
A Debian telepítése:
sudo apt-get frissítéssudo apt-get install sqlite -y
Ezután telepítenie kell a Python3 legújabb verzióját. A Python-t alapértelmezés szerint már előre telepíteni kell a terjesztésbe.
SQLite Shell
Az SQLite adatbázisokkal való interakció alapértelmezett módszere a shell használata. A héj lehetővé teszi SQL parancsok végrehajtását soron belül vagy gyűjteményként az adatbázisok funkcióinak végrehajtásához.
Az SQLite héj indításához használja a következő parancsot:
$ sqliteSQLite 2. verzió.8.17 Írja be.help ”utasításokat
sqlite>Ez elindítja az SQLite héjat egy parancssorral, amely lehetővé teszi a parancsok megadását. Kezdje a parancs beírásával .segítség a héj súgójának megtekintéséhez.
sqlite> .Segítség.adatbázisok Sorolja fel a csatolt adatbázisok neveit és fájljait
.lerak ?ASZTAL?… Dobja ki az adatbázist szöveges formátumban
.echo ON | OFF A echo parancs be- vagy kikapcsolása
.exit Kilépés a programból
.magyarázat BE | KI Kapcsolja be vagy ki az EXPLAIN-nak megfelelő kimeneti módot.
.fejléc (ek) BE | KI A fejlécek kijelzésének be- vagy kikapcsolása
.help Az üzenet megjelenítése
.indexek TÁBLÁZAT A TABLE összes indexének neve
.mód MODE Állítsa az üzemmódot a "sor (ok)", "oszlop (ok)" egyikére,
"insert", "list" vagy "html"
----------------------------------------------------------------------
Az SQLite shellből való kilépéshez használja a .kilép a parancsból.
sqlite> .KilépésAz SQLite shellben más funkciók és műveletek is használhatók. Például az összes adatbázis megtekintéséhez használhatja az .adatbázis parancs.
Nagyon ajánlom, hogy kísérletezzen az SQLite héjjal, és ismerkedjen meg, mivel ez lehetővé teszi, hogy megértse az SQLite3 modul használatát a Pythonban.
Csatlakozás egy adatbázishoz
Most használjuk a Python és az SQLite3 modulokat az SQLite adatbázisokkal való interakcióhoz. Jó megjegyezni, hogy vannak más Python modulok is, amelyekkel interakcióba léphet az SQLite-lel. Az SQLite3 azonban egyszerű, és a Pythonhoz van kötve.
Vegye figyelembe az alábbi szkriptet, hogy csatlakozzon az SQLite adatbázishoz.
import sqlite3 from sqlite3 import hibadef connect_db (db_path):
kapcsolat = Nincs próbálkozás:
kapcsolat = sqlite3.connect (db_path)
nyomtatás ("Az adatbázis sikeresen összekapcsolva")
kivéve a hibát e-ként:
print (f "Hiba történt: e")
visszatérő kapcsolat
connect_db ("/ home / user / Desktop / demo.sqlite ")
Az SQLite és a Error modulok importálásával kezdjük.
A 3. sorban létrehozunk egy connect_db () függvényt, amely az adatbázis elérési útját veszi fel argumentumként.
A következő rész tartalmaz egy try / error blokkot. Az első rész az adatbázis elérési útját veszi fel argumentumként, és kapcsolatot létesít. Megjegyzés: az SQLite alkalmazásban, ha a megadott adatbázis nem létezik, akkor automatikusan létrejön.
A hibablokk megpróbálja elkapni a kivételeket, és kinyomtatja azokat a felhasználónak.
Az utolsó sorban meghívjuk a connect_db függvényt, és átadjuk az elérni kívánt vagy létrehozni kívánt adatbázis elérési útját.
JEGYZET: Ha lemez helyett memória adatbázist akar létrehozni, akkor a connect objektumban megadhatja: memóriát.
sqlite3.connect („: memória”)SQLite táblázat létrehozása
Az SQLite-ben az SQL shell használatával táblákat hozhatunk létre a CREATE TABLE Query segítségével. Az általános szintaxis a következő:
CREATE TABLE adatbázis_neve.tábla_neve (oszlop_név adattípus ELSŐKULCS (oszlop (ok),
oszlop2_név adattípus,
… OszlopN_name adattípus,
);
Nem fogok belemerülni táblák létrehozásába SQLite shell használatával, mivel elsődleges célunk a Python. További információkért vegye figyelembe az alábbi forrásból származó SQL Lite dokumentációt. Ahhoz, hogy a Python és az sqlite3 modulokat adatbázis-táblák létrehozásához használjuk, a kurzorobjektumot kell használnunk, és végre kell hajtanunk az SQL lekérdezések függvényeit. Vegye figyelembe az alábbi kódot:
import sqlite3 from sqlite3 import hibadef connect_db (db_path):
kapcsolat = Nincs
próbáld ki:
kapcsolat = sqlite3.connect (db_path)
nyomtatás ("Az adatbázis sikeresen összekapcsolva")
kivéve a hibát e-ként:
nyomtatás (f "Hiba történt: e")
return connection def run_query (kapcsolat, sql_query):
kurzor = kapcsolat.kurzor()
próbáld ki:
kurzor.végrehajtani (sql_query)
kapcsolat.elkövetni()
nyomtatás ("SQL lekérdezés futtatása sikeresen ... [OK]")
kivéve a hibát e-ként:
nyomtatás (f "Sikertelen lekérdezés ... e")
query = "" "
CREATE TABLE HA NEM LÉTEZIK, a (
id INTEGER PRIMARY KEY AUTOINCREMENT,
név SZÖVEG NEM NULL,
év INTGER,
műfaj SZÖVEG,
ország SZÖVEG
);
"" "
run_query (kapcsolat = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = lekérdezés)
Beszéljünk most arról, hogy mit csinál a fenti kód - megtalálja az első fent ismertetett funkciót (kérjük, olvassa el). A második függvényben hozza létre a kapcsolatot és a végrehajtandó lekérdezést paraméterként. A következő sorok létrehoznak egy kurzorobjektumot, amelyet az execute metódus meghívására használunk. Mint fent említettük, a következő sorok meghívják a kurzor objektumát a metódus végrehajtásához, és paraméterként a lekérdezés átadását hívják meg. A blokk üzenetet is nyomtat a sikeres lekérdezés végrehajtásáról. Amint a lekérdezés sikeresen végrehajtódik, azt mondjuk az SQLite-nek, hogy a végrehajtási metódust használja a módosítások mentésére az adatbázisban. A kivétel blokk elkapja a kivételeket, és kinyomtatja a hibaüzenetet a felhasználónak. Végül létrehozzuk a lekérdezést, amelyet egyszerű SQLite szintaxissal kell végrehajtani.
SQLite Rekordok beillesztése
Adatok hozzáadásához az SQLite adatbázisba belemerülhetünk a run_query () függvénybe, amelyet korábban létrehoztunk, mivel képes futtatni minden hozzá átadott SQLite lekérdezést. Azonban az INSERT INTO lekérdezést használjuk adatok hozzáadásához a táblához.
Vegye figyelembe az alábbi blokkot:
add_shows = "" "INSERT INTO
műsorok (azonosító, név, év, műfaj, ország)
ÉRTÉKEK
("101", "Brooklyn Nine-Nine", "2013", "vígjáték", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
"" "run_query (kapcsolat = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)
Most meg kell hívnunk a run_query függvényt, és hozzá kell adnunk az add_shows lekérdezés átadását az adatok beszúrásához a show táblához. A hiba elkerülése érdekében ellenőrizze, hogy létezik-e az a táblázat, amelybe adatokat szúr be.
SQLite Rekordok törlése
A run_query () függvény segítségével rekordokat is eltávolíthat a megadott táblából. Csak annyit kell tennie, hogy a lekérdezést DELETE FROM néven állítsa be.
Fontolja meg a következő alkérdezést:
remove = "DELETE FROM megmutatja WHERE name = 'Brooklyn Nine-Nine'" run_query (kapcsolat = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = eltávolítás)A fenti lekérdezés eltávolítja a „Brooklyn Nine-Nine” show-t a show táblázatból.
Következtetés
Ez az oktatóanyag megtanította a Python használatát az SQLite adatbázisok elérésére és azokkal való együttműködésre. Az oktatóanyagból tanultak alapján most létrehozhat funkciókat, csatlakozhat az SQLite adatbázisokhoz, táblákat hozhat létre, adatokat beszúrhat és törölhet. Bár ez egy kezdő útmutató az SQLite használatához a Pythonban, el kell indítania más technológiák, például az SQLAlchemy és más.