Задание по MySQL
У меня есть задание.
Здравствуйте!
Создайте базу данных, которая будет состоять из трёх табличек: items, users, orders. Лучше чтобы вы создали её вручную, но если не хотите этого делать, то вот SQL файл, который вы можете импортировать в БД через графический редактор PhpMyAdmin.
Из таблицы users выберите лишь пользователя, у которого поле login равен "john".
Из таблицы items выберите лишь те товары, которые принадлежат к категории hats.
В таблицу orders поместите новые заказы. В качестве user_id указываейте id пользователя что вы выбрали из таблицы users, а в качестве item_id указывайте id товаров, что вы выбрали из таблицы items.
После добавления всех значений в таблицу orders выведите на экран содержимое таблицы orders в следующем формате:
Для проверки задания отправьте нам Python файл с реализацией этого задания. Базу данных отправлять не надо, так как она остается такой же.
- Каким образом повставлять id кодом?
- В таблицу orders поместите новые заказы. В качестве user_id указываейте id пользователя что вы выбрали из таблицы users, а в качестве item_id указывайте id товаров, что вы выбрали из таблицы items. После добавления всех значений в таблицу orders выведите на экран содержимое таблицы orders в следующем формате: Вот это не понятно
Подскажите пожалуйста. Вообще не понимаю
Ответы (1 шт):
В 10 начать изучать программирование - это круто! Не бросай, иди вперед и не слушай умников.
- Почитай про работу с базой данных MySQL - запросы типа SELECT и INSERT
- Почитай про то, как с помощью Python делать SQL-запросы и отображать полученный результат в нужном виде.
1.1 Из таблицы users выберите лишь пользователя, у которого поле login равен "john":
SELECT FROM database.users WHERE login = 'john';
1.2 Из таблицы items выберите лишь те товары, которые принадлежат к категории hats:
SELECT FROM database.items WHERE category = 'hats';
- В таблицу orders поместите новые заказы. В качестве user_id указываейте id пользователя что вы выбрали из таблицы users, а в качестве item_id указывайте id товаров, что вы выбрали из таблицы items
Не видя саму базу, сложно написать оптимальный запрос. Какая структура у таблицы "заказы"? Сколько строк получится после выполнения запроса из пункта 1.2?
Если не очень много, то вставить в таблицу заказов можно такими запросами:
INSERT into database.orders (user_id, item_id) VALUES(45,11);
INSERT into database.orders (user_id, item_id) VALUES(45,12);
INSERT into database.orders (user_id, item_id) VALUES(45,18);
INSERT into database.orders (user_id, item_id) VALUES(45,19);
INSERT into database.orders (user_id, item_id) VALUES(45,22);
45 - например id Джона. 11, 12, 18, 19, 22 - требуемые Джону товары (шапки).
- Для получения результата как на картинке тебе, кроме SELECT-запроса нужно 2 раза использовать запрос LEFT JOIN. Он не сложный. Попробуй сам разобраться. Суть его в том, что ты, по сути, делаешь три запроса и объединяешь полученные данные, лишнее потом отбрасываешь. Объединение делаешь по id пользователя и товаров.
Как выполнять MySQL-запросы с помощью Python - попробуй сам погуглить ;)
P.S. По поводу уроков Дударя: лично я их не смотрел, но в сети его не особо хвалят. Возможно, лучше найти другой источник для обучения.

