Работа из IDEA

Модуль 4. Работа с БД
5 уровень , 14 лекция
Открыта

Для работы с базами данными нужно использовать версию Ultimate. Она платная, но есть бесплатная версия IDEA Early Access Program, где все будет работать. 

Настройка IDEA

Intellij IDEA умеет работать с базами данных не хуже Workbench. На правой панели у нее даже есть специальная вкладка Database. Если кликнуть по ней, то увидишь картинку:

Database  Intellij IDEA

Давай попробуем законнектиться к нашей базе. Для начала кликнем на плюсик:

Как тебе список поддерживаемых баз данных? Впечатляет? Начиная от Google Big Query и заканчивая Cassandra.

Подключаем MySQL IDEA

Но мы люди скромные, поэтому просто выберем MySQL. IDEA тут же предлагает указать настройки для подключения к базе:

Database Intellij IDEA  3

Тут их даже больше, чем у Workbench. Хотя все нужное уже указано, может только нет логина и пароля.

Из интересного: IDEA написана на Java, поэтому она использует стандартные джавовые драйвера для работы с MySQL. То есть ровно те, которые будет использовать наша программа, когда будет отправлять запросы к MySQL-серверу.

Поэтому смело нажимаем Download для скачивания недостающих драйверов.

Также я указал логин и пароль к нашему локальному серверу и затем ткнул на кнопочку Test Connection:

Database Intellij IDEA  4

Соединение успешно установлено, поэтому смело жмем OK.

Отображаем содержимое базы

Если видишь такую картинку:

Database Intellij IDEA  5 Mysql

То кликни по месту, выделенному красным, и выбери список схем вручную. Я указал 3: test, test2 и supershop, и вот что я теперь вижу:

Database Intellij IDEA  6 Mysql

Все три мои схемы на месте. Давай посмотрим, что у нас в таблице user:

Database Intellij IDEA  7 Mysql

Ну, я и так знал, какие у нас там колонки есть, а как посмотреть данные?

Отображение содержимого таблицы

Я просто сделал double click на имени таблицы и IDEA показала мне это:

Database Intellij IDEA  8 Mysql

Пока что выглядит гораздо интереснее, чем в Workbench. Сразу отобразились данные, и к тому же есть служебные поля WHERE и ORDER BY. Чтобы можно было фильтровать и сортировать данные прямо на месте.

Давай попробуем отсортировать нашу таблицу по уровню...

Только я начал писать слово level, как IDEA тут же предложила мне шикарный список подсказок:

Database Intellij IDEA  9 Mysql

Пожалуй, это выглядит поинтереснее, чем работать через Workbench, он-то особо подсказок не выдавал.

Я набрал level, нажал enter — и вуаля, таблица отсортирована:

Database Intellij IDEA 10 Mysql

Ладно, теперь хочу выполнить произвольный запрос без привязки к таблице, где мне это сделать?

Возвращаемся к панели справа — там есть специальная кнопочка, чтобы открыть Query Console:

Database Intellij IDEA  11 Mysql

И начинаем писать запрос:

Mysql Intellij IDEA 11

Авто подсказки у IDEA, как всегда, на высоте. И вот результат нашего запроса:

Database Intellij IDEA  13 Mysql
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0516
Получи из таблицы part колонку name. Отфильтруй данные: нужны только те значения которые дважды содержат строку 'Slope' или дважды содержат строку 'Clip'.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0517
Получи из таблицы lego_set количество наборов каждого года. Должно получиться две колонки: released и count(*).
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0518
Получи из таблицы lego_set количество наборов каждого года. Колонке с количеством задай имя total. Должно получиться две колонки: released и total. Отсортируй результат по количеству наборов по убыванию.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0519
Получи из таблицы lego_set количество наборов каждого года. Колонке с количеством задай имя total. Отфильтруй наборы по колонке number: учитывай только наборы с number меньше 10000. Отсортируй результат по количеству наборов по убыванию.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0520
Получи из таблицы lego_set все номера и имена в виде одной колонки с именем full_name, по принципу: если номер был 71761, а имя 'Zane’s Power Up Mech EVO', то в колонке full_name должно получиться: 71761, Zane’s Power Up Mech EVO т.е. номер и имя разделенные запятой и пробелом. О
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0521
Получи из таблицы lego_set номера и имена в виде одной колонки с именем full_name, по принципу: если номер был 71761, а имя 'Zane’s Power Up Mech EVO', то в колонке full_name должно получиться: 71761, Zane’s Power Up Mech EVO т.е. номер и имя разделенные запятой и пробелом. Отсор
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0522
Получи из таблицы part колонки name и weight. Значения колонки weight округли вверх. Колонку с округленными значениями назови ceil_weight.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0523
Получи из таблицы lego_set колонки number и inventory. Значения колонки inventory увеличь на 1 процент, и то, что получилось, округли к ближайшему целому. Колонку с округленными значениями назови with_spare_parts.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0524
Таблицы book связана с таблицей author через колонку author_id, которая содержит id авторов. Получи все книги, у авторов которых last_name начинается на 'S'. Результат должен содержать две колонки: isbn и title.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0525
Таблицы book связана с таблицей author через колонку author_id, которая содержит id авторов. Получи всех авторов, у которых в таблице book больше одной книги. Результат должен содержать две колонки: full_name автора и колонку books содержащую количество книг автора.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0526
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблицы book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Получи все книги из таблицы book. Результат должен содержать пять колонок: - год публикации, is
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0527
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Получи названия всех книг автора 'Edgar Allan Poe'. Результат должен содержать одну колонку title. Значения в колонке не должны повторяться.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0528
Таблица book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблица book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Получи названия всех издателей которые издавали книги автора 'Mark Twain' (full_name). Результат должен содержать одну колонку name. Значения в колонке не должны повторяться.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0529
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблицы book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Для каждого автора получи количество издателей, издававших его книги. Результат должен содержат
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0530
Получи из таблицы object (схема space) данные про дату открытия. Результат должен содержать четыре колонки: - name; - колонку d_year содержащую год открытия объекта; - колонку d_month содержащую название месяца открытия объекта; - колонку d_day содержащую название дня недели открытия объекта.
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0531
Получи из таблицы object (схема space) все объекты открытые с начала 2010 до конца 2020 года. Результат должен содержать все колонки таблицы.
Комментарии (19)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Anonymous #3492314 Уровень 28
3 декабря 2025
Непонятно даже в какой идее надо работать, с плагином Rush или нет, курс про базы отвратный
Ольга Николенко Уровень 109 Expert
22 мая 2024
задача 0529 - выдает не верный результат на "верное решение", в реальности решается с одним join-ом
Артём Уровень 112
25 июня 2025
В этой задаче авторов надо брать не из таблицы book, как поймёт любой нормальный человек, прочитавший условие, а из таблицы author. Но это становится понятно, только когда посмотришь ответ, из условия задачи это не понятно никак.
Олег Уровень 79 Expert
24 февраля 2024
29 задача это что то нелогичное, как можно таблицу автор джойнить с паблишер( у них нет общих колонок id) а условие ставить publisher.id = book.publisher_id (в условии нет частей из таблицы автор???))) это не условие а какое то перекрестное опыление)
Anonymous #3322801 Уровень 2 Expert
30 октября 2023
Отличные задачи, особенно понравились 28 и 29. Спасибо разработчикам)
Надежда Уровень 104 Expert
26 августа 2023
В задаче 0518 ошибка в правильном ответе: вместо order by total надо order by total DESC (в условии же сказано "по убыванию"). Та же ошибка и в 0519.
Роман Уровень 51
16 февраля 2023
будущие коллеги я хотел бы задать вопрос тому,ктоуже работает и имеет опыт в разных роектах,чтоименно за инструментарий вы используете при работе с БД - idea,workbench,что то еще или Jdbs если там есть такая возможность.Заранее благодарю за ответ
Виктор Шефф Уровень 111 Expert
27 февраля 2023
DataGrip, Intelij IDEA.
Саша И. Уровень 101 Expert
14 февраля 2023
Формулировки заданий удручают(
Андрей Уровень 108 Expert
22 января 2023
В условии задачи 0528 нет указания на таблицу publisher из которой необходимо брать данные
JRU Mentor Уровень 1 Mentor
31 августа 2023
Все таблицы казаны в этой лекции
Ruslan Shamsiev Уровень 1
11 января 2023
ctrl + enter - чтобы запрос сработал
Ruslan Shamsiev Уровень 1
11 января 2023
Вкладка Database та что справа доступна только в оплаченной версии Ultimate (в качестве альтернативы можно взять на 30 дней триалку чисто посмотреть)