import sqlite3
con = sqlite3.connect('firma.db')
# dostęp do kolumn przez indeksy i przez nazwy
con.row_factory = sqlite3.Row
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS pracownicy;")
cur.execute("""
CREATE TABLE IF NOT EXISTS pracownicy(
id INTEGER PRIMARY KEY ASC,
imie varchar(50),
nazwisko varchar(70)
)
""")
cur.executescript("""
DROP TABLE IF EXISTS telefony;
CREATE TABLE IF NOT EXISTS telefony (
nr_tel varchar(20) PRIMARY KEY,
opis varchar(250),
pracownicy_id INTEGER,
FOREIGN KEY(pracownicy_id) REFERENCES pracownicy(id)
)
""")
cur.execute('INSERT INTO pracownicy VALUES(NULL, ?, ?);', ('Jan', 'Kowalski'))
cur.execute('INSERT INTO pracownicy VALUES(NULL, ?, ?);', ('Adam', 'Nowak'))
cur.execute('INSERT INTO pracownicy VALUES(NULL, ?, ?);', ('Ola', 'Wiosna'))
cur.execute('SELECT id FROM pracownicy WHERE imie = ?', ('Jan',))
pracownicy_id = cur.fetchone()[0]
telefon = (
('500301880', 'komórka', pracownicy_id),
('23567899', 'stacjonarny', pracownicy_id)
)
cur.executemany('INSERT INTO telefony VALUES(?,?,?)', telefon)
def czytajdane():
"""Funkcja pobiera i wyświetla dane z bazy."""
cur.execute('SELECT * from pracownicy')
pracownik = cur.fetchall()
for prac in pracownik:
print(prac['id'], prac['imie'], prac['nazwisko'])
print()
cur.execute(
"""
SELECT nr_tel, nazwisko FROM pracownicy,telefony
WHERE pracownicy.id=telefony.pracownicy_id
""")
telefon = cur.fetchall()
for tel in telefon:
print(tel['nr_tel'], tel['nazwisko'])
print()
czytajdane()
cur.execute('SELECT id FROM pracownicy WHERE nazwisko= ?', ('Nowak',))
pracownicy_id = cur.fetchone()[0]
cur.execute('UPDATE telefony SET pracownicy_id=? WHERE nr_tel=?', (pracownicy_id, '500301880'))
cur.execute('DELETE FROM pracownicy WHERE id=?', (3,))
con.commit()
czytajdane()
con.close()
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}