Facebook
From dasdsadas, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 154
  1. import sqlite3
  2.  
  3. con=sqlite3.connect('firma.db')
  4. con.row_factory=sqlite3.Row
  5.  
  6. cur=con.cursor()
  7. cur.execute("DROP TABLE IF EXISTS pracownicy")
  8. cur.execute("""
  9. CREATE TANLE IF NOT EXESTS pracownicy (
  10.     id INTERGER PRIMARY KEY ASC,
  11.     imie varchar(50),
  12.     nazwisko varchar(70)
  13. ) """)
  14. cur.executescript("""
  15. DROP TABLE IF EXESTS telefony;
  16. CREATE TABLE IF NOT EXESTS telefony(
  17.     nr_tel varchar(20) PRIMARY KEY,
  18.     opis varchar(250),
  19.     pracownicy_id INTERGER,
  20.     FOREIGN KEY (pracownicy_id) REFERENCES pracownicy(id)
  21. ) """)
  22. cur.execute("INSERT INTO pracownicy VALUES(NULL,?,?);",('Jan','Kowalski'))
  23. cur.execute("INSERT INTO pracownicy VALUES(NULL,?,?);",('Adam','Nowak'))
  24. cur.execute("INSERT INTO pracownicy VALUES(NULL,?,?);",('Ola','Wiosna'))
  25. cur.execute("SELECT id FROM pracownicy WHERE imie=?",('Jan',))
  26.  
  27. pracownicy_id=cur.fetchone()[0]
  28.  
  29. telefon=(
  30.     ('500500500','komórka',pracownicy_id)
  31.     ('500500505','stacjonarny',pracownicy_id)
  32. )
  33. cur.executemany("INSERT INTO telefony VALUES(?,?,?);",telefon)
  34.  
  35. def czytajdane():
  36.     cur.execute('SELECT * FROM pracownicy')
  37.     pracownik=cur.fetchall()
  38.     for prac in pracownik:
  39.         print(prac['id'],prac['imie'],prac['nazwisko'])
  40.     print()
  41.    
  42.     cur.execute(
  43.     """
  44.     SELECT nr_tel, nazwisko FROM pracownicy,telefony WHERE pracownicy_id=telefony.pracownicy_id
  45.     """)
  46.     telefon=cur.fetchall()
  47.     for tel in telefony:
  48.         print(tel['nr_tel'],tel['nazwisko'])
  49.     print()
  50. czytajdane()
  51. cur.execute('SELECT id FROM pracownicy WHERE nazwisko=?',('Nowak',))
  52. pracownicy_id=cur.fetchall()[0]
  53. cur.execute('DELETE FROM pracownicy WHERE id=?',(3,))
  54. con.commit()
  55. czytajdane()
  56. con.close()