Задание по MySQL

У меня есть задание.

Здравствуйте!

Создайте базу данных, которая будет состоять из трёх табличек: items, users, orders. Лучше чтобы вы создали её вручную, но если не хотите этого делать, то вот SQL файл, который вы можете импортировать в БД через графический редактор PhpMyAdmin.

Из таблицы users выберите лишь пользователя, у которого поле login равен "john".

введите сюда описание изображения

Из таблицы items выберите лишь те товары, которые принадлежат к категории hats.

В таблицу orders поместите новые заказы. В качестве user_id указываейте id пользователя что вы выбрали из таблицы users, а в качестве item_id указывайте id товаров, что вы выбрали из таблицы items.

После добавления всех значений в таблицу orders выведите на экран содержимое таблицы orders в следующем формате:

введите сюда описание изображения

Для проверки задания отправьте нам Python файл с реализацией этого задания. Базу данных отправлять не надо, так как она остается такой же.

  1. Каким образом повставлять id кодом?
  2. В таблицу orders поместите новые заказы. В качестве user_id указываейте id пользователя что вы выбрали из таблицы users, а в качестве item_id указывайте id товаров, что вы выбрали из таблицы items. После добавления всех значений в таблицу orders выведите на экран содержимое таблицы orders в следующем формате: Вот это не понятно

Подскажите пожалуйста. Вообще не понимаю


Ответы (1 шт):

Автор решения: Max Raskolnikov

В 10 начать изучать программирование - это круто! Не бросай, иди вперед и не слушай умников.

  1. Почитай про работу с базой данных MySQL - запросы типа SELECT и INSERT
  2. Почитай про то, как с помощью 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';
  1. В таблицу 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 - требуемые Джону товары (шапки).

  1. Для получения результата как на картинке тебе, кроме SELECT-запроса нужно 2 раза использовать запрос LEFT JOIN. Он не сложный. Попробуй сам разобраться. Суть его в том, что ты, по сути, делаешь три запроса и объединяешь полученные данные, лишнее потом отбрасываешь. Объединение делаешь по id пользователя и товаров.

Как выполнять MySQL-запросы с помощью Python - попробуй сам погуглить ;)


P.S. По поводу уроков Дударя: лично я их не смотрел, но в сети его не особо хвалят. Возможно, лучше найти другой источник для обучения.

→ Ссылка