· 8 years ago · Feb 17, 2018, 09:20 AM
1"""
2Создать таблицы Product, Purchase, Customer
3Product
4 id
5 name
6 price
7
8Purchase
9 id
10 datetime
11 id_customer
12 id_product
13 count
14
15Customer
16 id
17 fio
18 address
19
20И запиÑать туда Ñледующие данные:
21Product
221, iphone X, 80000
232, ipad pro, 40000
243, iphone 9, 30000
254, macbook pro, 120000
265, ice-cream, 10
27
28Customer
291, Иванов Иван Иванович, г.Екатеринбург ул. Бажова д. 5 кв 7
302, ÐлекÑандров ÐлекÑандр ÐлекÑандрович, г.ÐÑбеÑÑ‚ ул. ПарижÑÐºÐ°Ñ 89 кв 98
313, Петров Петр Петрович, г.Екатеринбург ул. Ленина д. 1 кв 1.
32
33Purchase
341, 2018-01-01 22:12:01, 1, 1, 10
352, 2018-01-01 22:59:59, 2, 2, 1
363, 2018-01-02 07:00:01, 3, 2, 2
374, 2018-02-01 12:30:43, 3, 5, 1
385, 2017-12-30 16:23:04, 1, 4, 5
396, 2017-02-03 19:04:39, 2, 3, 1
40
41
42Выполнить Ñледующие запроÑÑ‹:
431) Выбрать те покупки, количеÑтво товара в которых больше 3Ñ…
442) Выбрать те покупки, которые Ñовершены в Ñнваре
453) Выбрать тех покупателей у которых город Екатеринбург
464) Выбрать те покупки которые Ñовершены поÑле 22 чаÑов вечера (и до 00 ночи)
475) Выбрать те товары которые ÑтоÑÑ‚ меньше 35 тыÑÑч
486) Выбрать из товаров iphone которые ÑтоÑÑ‚ меньше 35 тыÑÑч
497) ПоÑчитать Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ покупки ее ÑтоимоÑть (айди покупки, ÑтоимоÑть)
508) Ðайти минимальную цену товара
519) Ðайти товары Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ ценой
5210) Ðайти айди покупателей, которые купили товара на макÑимальную Ñумму
5311) Ðайти выручку магазина помеÑÑчно
5412) Ðайти айди покупателей, которые купили товара на макÑимальную Ñумму помеÑÑчно
5513) Ðайти чаÑÑ‹ в которые больше вÑего покупают товаров по количеÑтву
5614) Ðайти чаÑÑ‹ в которые больше вÑего выручка
5715)
58"""
59import sqlite3
60
61conn = sqlite3.connect('products.db')
62c = conn.cursor()
63
64# подготовка запроÑа на выполнение
65drop_table = '''
66DROP TABLE IF EXISTS {0};
67'''
68
69create_table_products = '''
70CREATE TABLE product(
71`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
72`name` TEXT,
73`price` FLOAT
74);
75'''
76list_table_name = '''
77SELECT name FROM sqlite_master WHERE type='table';
78'''
79
80columns = ("name", "price")
81values = ("iphone X", 80000)
82
83
84sql_insert_product = 'INSERT INTO Product ({0}) VALUES ({1})'.format(\
85 ", ".join(columns),
86 ', '.join("?" * len(columns)))
87print(sql_insert_product)
88
89
90
91
92c.execute(drop_table.format('product'))
93c.execute(create_table_products)
94# выполнение execute
95conn.commit()
96# c.execute(list_table_name)
97
98for row in c.execute(list_table_name):
99 print(row)
100
101c.execute(sql_insert_product, values)
102conn.commit()
103c.execute('SELECT * FROM Product')
104
105data_row = c.fetchone()
106
107print(data_row)
108conn.close()