JavaRush /Курсы /SQL & Hibernate /Работа из IDEA

Работа из IDEA

SQL & Hibernate
5 уровень , 8 лекция
Открыта

Для работы с базами данными нужно использовать версию 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
Комментарии (17)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Ольга Николенко Уровень 109 Expert
22 мая 2024
задача 0529 - выдает не верный результат на "верное решение", в реальности решается с одним join-ом
Олег Уровень 79 Expert
24 февраля 2024
29 задача это что то нелогичное, как можно таблицу автор джойнить с паблишер( у них нет общих колонок id) а условие ставить publisher.id = book.publisher_id (в условии нет частей из таблицы автор???))) это не условие а какое то перекрестное опыление)
Anonymous #3322801 Уровень 1 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 дней триалку чисто посмотреть)
aDuVaN4Ik Уровень 42
6 января 2023
Не нашел понели database
toribicks Уровень 20
7 января 2023
только в версии Ultimate