· 8 years ago · Jan 03, 2018, 04:00 PM
1# coding=utf-8
2import sqlite3
3
4conn = sqlite3.connect('biblioteka.db')
5print "Otwarto połączenie z gimbazą"
6
7conn.execute('''
8 CREATE TABLE IF NOT EXISTS Ksiazki
9 (Id INTEGER PRIMARY KEY AUTOINCREMENT,
10 Tytul TEXT NOT NULL,
11 Autor TEXT NOT NULL,
12 Cena REAL NOT NULL)''')
13conn.execute('''
14 CREATE TABLE IF NOT EXISTS Klienci
15 (Id INTEGER PRIMARY KEY AUTOINCREMENT,
16 Imie TEXT NOT NULL,
17 Nazwisko TEXT NOT NULL)''')
18conn.execute('''
19 CREATE TABLE IF NOT EXISTS Wypozyczenia
20 (IdKlienta INTEGER NOT NULL,
21 IdKsiazki INTEGER NOT NULL,
22 Data DATE NOT NULL,
23 FOREIGN KEY (IdKlienta) REFERENCES Klienci(Id),
24 FOREIGN KEY (IdKsiazki) REFERENCES Ksiazki(Id))''')
25print "Utworzono tabele"
26
27conn.execute('''INSERT INTO Ksiazki (Tytul, Autor, Cena) VALUES('Hari Pota', 'J.K.Mikke', 4.76)''')
28conn.execute('''INSERT INTO Ksiazki (Tytul, Autor, Cena) VALUES('Hari Pota 2', 'J.K.Mikke', 14.76)''')
29conn.execute('''INSERT INTO Ksiazki (Tytul, Autor, Cena) VALUES('Hari Pota 3', 'J.K.Mikke', 24.76)''')
30conn.execute('''INSERT INTO Klienci (Imie, Nazwisko) VALUES ('Jan', 'Bonkowski')''')
31conn.execute('''INSERT INTO Klienci (Imie, Nazwisko) VALUES ('Jakub', 'Rycyk')''')
32conn.execute('''INSERT INTO Klienci (Imie, Nazwisko) VALUES ('Kamil', 'Maksim')''')
33conn.commit()
34
35conn.execute('''INSERT INTO Wypozyczenia VALUES (
36 (SELECT Id FROM Klienci WHERE Nazwisko = 'Bonkowski'),
37 (SELECT Id FROM Ksiazki WHERE Tytul = 'Hari Pota'),
38 date('now'))''')
39
40conn.execute('''INSERT INTO Wypozyczenia VALUES (
41 (SELECT Id FROM Klienci WHERE Nazwisko = 'Rycyk'),
42 (SELECT Id FROM Ksiazki WHERE Tytul = 'Hari Pota 3'),
43 date('now'))''')
44
45conn.execute('''INSERT INTO Wypozyczenia VALUES (
46 (SELECT Id FROM Klienci WHERE Nazwisko = 'Maksim'),
47 (SELECT Id FROM Ksiazki WHERE Tytul = 'Hari Pota 2'),
48 date('now'))''')
49
50
51cursor = conn.execute('''SELECT Data, Imie, Nazwisko, Autor, Tytul FROM Wypozyczenia
52 INNER JOIN Klienci ON Klienci.Id = Wypozyczenia.IdKlienta
53 INNER JOIN Ksiazki ON Ksiazki.Id = Wypozyczenia.IdKsiazki''')
54
55for row in cursor:
56 print "%s: %s %s wypozycza ksiazke %s autorstwa %s" % row
57
58conn.close()