[[: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)