[[:oktatas:programozás:python:Adatbázis|< Adatbázis]] ====== Python SQLite ====== * **Szerző:** Sallai András * Copyright (c) 2020, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Az SQLite egy állomány alapú adatbáziskezelő rendszer. Egy adatbázis egyetlen állományban van tárolva. {{:oktatas:programozas:python:adatbazis:sqlite.png|}} ====== Telepítés ====== Szükségtelen telepíteni bármit, a Python alapból tudja. Ellenőrzés: $ python3 Python 3.7.3 (default, Dec 20 2019, 18:57:59) [GCC 8.3.0] on Linux Type "help", "copyright", "credit", or "license" for more information. >>> import sqlite3 >>> ===== Kapcsolódás fájlhoz ===== import sqlite3 conn = sqlite3.connect('valami.db') import sqlite3 conn = sqlite3.connect('valami.db') conn.execute('''create table dolgozok( nev text, telepules text, fizetes real)''') conn.execute("insert into dolgozok values" "('Nagy János', 'Szolnok', 2850000)") conn.commit() conn.close() Táblalétrehozás kulccsal: create table dolgozok( az integer primary key autoincrement, nev text, telepules text, fizetes real ); ===== Egy rekord lekérdezése ===== import sqlite3 conn = sqlite3.connect('valami.db') c = conn.cursor() telepules=('Szolnok',) sql = 'select * from dolgozok where telepules=?' c.execute(sql, telepules) print(c.fetchone()) conn.close() ===== Összes lekérdezése ===== import sqlite3 conn = sqlite3.connect('valami.db') c = conn.cursor() t=('Szolnok',) sql = 'select * from dolgozok' c.execute(sql) print('\n'.join(map(str, c.fetchall()))) conn.close() ===== Beszúrás ===== conn = sqlite3.connect('filename.db') cur = conn.cursor() sql = """delete from groups""" cur.execute(sql) sql = """ insert into groups (name) values (?) """ cur.execute(sql, ['valami']) conn.commit() conn.close() ===== Kivételkezelés ===== import sqlite3 try: conn = sqlite3.connect('tesztSqlite.db') cur = conn.cursor() sql = 'create table egy (nev text)' cur.execute(sql) print(cur.fetchall()) cur.close() except sqlite3.Error as error: print('Hiba! Sikertlen létrehozás!') finally: if conn: conn.close() print('Kapcsolat lezárva') Lekérdezés: import sqlite3 try: conn = sqlite3.connect('tesztSqlite.db') cur = conn.cursor() sql = 'select * from egy' cur.execute(sql) print(cur.fetchall()) cur.close() except sqlite3.Error as error: print('Hiba! Sikertlen létrehozás!') finally: if conn: conn.close() print('Kapcsolat lezárva') ===== Forrás ===== * https://docs.python.org/3/library/sqlite3.html (2020) * https://www.sqlitetutorial.net/sqlite-python/ (2020)