· 4 years ago · Mar 31, 2021, 07:26 PM
1import sqlite3
2
3try:
4 sqlite_connection = sqlite3.connect('Строймир.db')
5 sqlite_create_table1 = '''CREATE TABLE IF NOT EXISTS Цвет (
6 id_цвета INTEGER PRIMARY KEY,
7 Название_цвета TEXT NOT NULL,
8 );'''
9 sqlite_сreate_table2 = '''CREATE TABLE IF NOT EXISTS Товар (
10 id_товара INTEGER PRIMARY KEY,
11 Название TEXT NOT NULL,
12 Стоимость INTEGER NOT NULL,
13 id_вида_товара INTEGER NOT NULL,
14 Наличие_в_магазине text NOT NULL,
15 id_цвета INTEGER NOT NULL,
16 );'''
17 sqlite_сreate_table3 = '''CREATE TABLE IF NOT EXISTS Вид_товара (
18 id_вида_товара INTEGER PRIMARY KEY,
19 Вид text NOT NULL,
20 );'''
21
22 cursor = sqlite_connection.cursor()
23 print("База данных подключена к SQLite")
24 cursor.execute(sqlite_create_table1)
25 cursor.execute(sqlite_create_table2)
26 cursor.execute(sqlite_create_table3)
27 sqlite_connection.commit()
28 print("Таблица SQLite создана")
29
30
31 more_Цвет=[(1,'Белый'),(2,'Красный'),(3,'Черный'),(4,'Зеленый'),(5,'Желтый')]
32 more_Товар=[(11, 'Плитка', 150, 858, 'В наличии', 1), (12, 'Стекловата', 50, 858, 'В наличии', 3), (13, "Поролон", 100, 857, 'В наличии', 5), (14, 'Кирпич', 500, 856, 'Нет в наличии', 4), (15, 'Шифер', 60, 856, 'В наличии', 5)]
33 more_Вид_товара=[(856, 'Строительные материалы'), (857, 'Тепло- и звукоизоляция'), (858, 'Напольные покрытия')]
34 cursor.executemany("""
35 INSERT INTO Цвет(id_цвета, Название_цвета) VALUES (?,?):
36 """,more_Цвет)
37 cursor.executemany("""
38 INSERT INTO Товар(id_товара, Название, Стоимость, id_вида_товара, Наличие_в_магазине, id_цвета)VALUES (?,?,?,?,?,?):
39 """,more_Товар)
40 cursor.executemany("""
41 INSERT INTO Вид_товара(id_вида_товара, Вид) VALUES (?,?):
42 """,more_Вид_товара)
43
44 sqlite_connection.commit()
45 print("Таблица заполнена данными")
46
47 sqlite_select_query = ("""
48 SELECT Цвет.Название_цвета, Товар.id_товара, Товар.Название, Товар.Стоимость, Товар.Наличие_в_магазине, Вид_товара.Вид from Цвет.Товар.Вид_товара where Цвет.id_цвета = Товар.id_цвета and Товар.id_вида_товара = Вид_товара.id_вида_товара
49 """)
50 cursor.execute(sqlite_select_query)
51 print("Вывод данных на экран:")
52 records = cursor.fetchall()
53 for row in records:
54 print("Название товара", row[0])
55 print("Цвет", row[1])
56 print("Вид товара", row[2])
57 print("Стоимость", row[3], end="\n\n")
58 cursor.execute("DELETE FROM Товар WHERE Товар='Стекловата';")
59 sqlite_connection.commit()
60 print("Вывод данных на экран после удаления:")
61 cursor.execute("select * FROM Товар WHERE Товар='Стекловата'; ")
62 print(cursor.fetchall())
63
64 cursor.close()
65
66except sqlite3.Error as error:
67 print("Ошибка при подключении к sqlite", error)
68finally:
69 if (sqlite_connection):
70 sqlite_connection.close()
71 print("Соединение с SQLite закрыто")