Настройка 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
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0516
Получи из таблицы part колонку name. Отфильтруй данные: нужны только те значения которые дважды содержат строку 'Slope' или дважды содержат строку 'Clip'.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0517
Получи из таблицы lego_set количество наборов каждого года. Должно получиться две колонки: released и count(*).
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0518
Получи из таблицы lego_set количество наборов каждого года. Колонке с количеством задай имя total. Должно получиться две колонки: released и total. Отсортируй результат по количеству наборов по убыванию.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0519
Получи из таблицы lego_set количество наборов каждого года. Колонке с количеством задай имя total. Отфильтруй наборы по колонке number: учитывай только наборы с number меньше 10000. Отсортируй результат по количеству наборов по убыванию.
undefined
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 т.е. номер и имя разделенные запятой и пробелом. О
undefined
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 т.е. номер и имя разделенные запятой и пробелом. Отсор
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0522
Получи из таблицы part колонки name и weight. Значения колонки weight округли вверх. Колонку с округленными значениями назови ceil_weight.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0523
Получи из таблицы lego_set колонки number и inventory. Значения колонки inventory увеличь на 1 процент, и то, что получилось, округли к ближайшему целому. Колонку с округленными значениями назови with_spare_parts.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0524
Таблицы book связана с таблицей author через колонку author_id, которая содержит id авторов. Получи все книги, у авторов которых last_name начинается на 'S'. Результат должен содержать две колонки: isbn и title.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0525
Таблицы book связана с таблицей author через колонку author_id, которая содержит id авторов. Получи всех авторов, у которых в таблице book больше одной книги. Результат должен содержать две колонки: full_name автора и колонку books содержащую количество книг автора.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0526
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблицы book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Получи все книги из таблицы book. Результат должен содержать пять колонок: - год публикации, is
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0527
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Получи названия всех книг автора 'Edgar Allan Poe'. Результат должен содержать одну колонку title. Значения в колонке не должны повторяться.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0528
Таблица book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблица book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Получи названия всех издателей которые издавали книги автора 'Mark Twain' (full_name). Результат должен содержать одну колонку name. Значения в колонке не должны повторяться.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0529
Таблицы book связана с таблицей author через колонку author_id, значения в которой являются id авторов. Таблицы book связана с таблицей publisher через колонку publisher_id, которая содержит id издателей. Для каждого автора получи количество издателей, издававших его книги. Результат должен содержат
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0530
Получи из таблицы object (схема space) данные про дату открытия. Результат должен содержать четыре колонки: - name; - колонку d_year содержащую год открытия объекта; - колонку d_month содержащую название месяца открытия объекта; - колонку d_day содержащую название дня недели открытия объекта.
undefined
1
Задача
Модуль 4. Работа с БД, 5 уровень, 14 лекция
Недоступна
task0531
Получи из таблицы object (схема space) все объекты открытые с начала 2010 до конца 2020 года. Результат должен содержать все колонки таблицы.