Добавить в корзинуПозвонить
Найти в Дзене
"Мы"-Прогер

Как выполнять SQL-запросы в IntelliJ IDEA / PyCharm / Rider

По своей природе, Postgres, MS SQL Server и прочие СУБД - это сервера, которые получают SQL-команды от клиентских приложений. SQL - это текст, то есть, команды SQL состоят из определённого текста. Можно набирать этот текст в консольном приложении psql, поставляющемся вместе с Postgres. Но писать и редактировать сложные команды в консоли неудобно. В IntelliJ IDEA / PyCharm / Rider есть специальные консоли базы данных. В отличие от командной строки, консоли здесь - это обычные текстовые файлы, в которых можно набирать код SQL и произвольным образом выполнять его. Подсветка синтаксиса, подсказки, история изменений файла и прочее прилагаются. Идём на вкладку Database (по умолчанию справа). Убедимся, что мы подключены к базе данных (иначе используйте "Connect to Database...") и что отображаются все схемы этой базы: Далее открыть консоль можно через кнопку Jump to Query Console...: В первый раз нажатие на эту кнопку создаёт консоль, а если нажимать на неё повторно, то будет открываться меню:
Оглавление

По своей природе, Postgres, MS SQL Server и прочие СУБД - это сервера, которые получают SQL-команды от клиентских приложений. SQL - это текст, то есть, команды SQL состоят из определённого текста. Можно набирать этот текст в консольном приложении psql, поставляющемся вместе с Postgres. Но писать и редактировать сложные команды в консоли неудобно.

В IntelliJ IDEA / PyCharm / Rider есть специальные консоли базы данных. В отличие от командной строки, консоли здесь - это обычные текстовые файлы, в которых можно набирать код SQL и произвольным образом выполнять его. Подсветка синтаксиса, подсказки, история изменений файла и прочее прилагаются.

Идём на вкладку Database (по умолчанию справа). Убедимся, что мы подключены к базе данных (иначе используйте "Connect to Database...") и что отображаются все схемы этой базы:

Далее открыть консоль можно через кнопку Jump to Query Console...:

-2

В первый раз нажатие на эту кнопку создаёт консоль, а если нажимать на неё повторно, то будет открываться меню:

-3
  • New Query Console - создаёт новую консоль
  • Default Query Console - открывает консоль по умолчанию
  • All - полный список консолей

Чтобы опробовать консоль, наберём в ней три разных команды select. В простейшем случае эти команды выполняют вычисления, но далее с помощью них мы будем доставать данные из таблиц:

-4

Команда, на которой стоит курсор для ввода текста, выделяется зелёной рамкой. Если мы нажмём зелёную стрелку или Ctrl + Enter, то откроется меню, где нас спросят, что именно выполнять: одну команду или все команды в консоли:

-5

Также, чтобы выполнить одну или несколько команд, можно выделить их мышкой и нажать зелёную стрелку или Ctrl + Enter.

Ответ выводится на вкладках внизу:

-6

Подсказка

Когда вы набираете какое-нибудь слово, то всплывает подсказка:

-7

Чтобы использовать первый вариант из подсказки, просто нажмите Enter. Чтобы переключаться между вариантами, используйте стрелки на клавиатуре, и затем нажмите Enter.

Чтобы меньше переключаться между вариантами, набирайте первые буквы слов. Например, вместо "my_students_table" достаточно набрать "mstuta", "mstu" или просто "stu".

-8

В подсказке есть особые варианты, которые позволяют быстро набирать код по определённому шаблону. Например, чтобы быстро набрать начало команды "select * from ...", достаточно набрать "sel" и выбрать шаблон:

-9

Получится сразу

-10

Имена консолей

Когда консолей много, то среди них можно потеряться. Поэтому надо называть консоли понятными именами. Учитывая, что консоль - это текстовый файлик, можно воспользоваться командой "Rename File". Для этого нажмите быстро Shift 2 раза и начните набирать "rename":

-11

Далее введите новое название и нажмите "Refactor":

-12

Кэш

Поскольку сканирование базы данных - дело небыстрое, IntelliJ IDEA / PyCharm / Rider используют кеш. Это значит, что они запоминают состояние базы данных и потом используют эти знания вместо того, чтобы снова лезть в базу. Когда пользователь запускает какую-то команду, они сканируют только то, что могло измениться. Это ускоряет их работу, но надо понимать, что знания о базе данных могут устареть. Если ваш напарник по работе что-то изменил, то изменения появятся у вас не сразу. Может быть, вообще не появятся. Поэтому во вкладке Database есть кнопка "Refresh". Выделите базу данных и нажмите "Refresh" (если выделить схему, то будет обновлена только эта схема):

-13

Локальная история

Часто возникает ситуация, что мы что-то сделали не так и надо откатить консоль к предыдущему виду. Или мы стёрли что-то, что позже нам понадобилось. Чтобы посмотреть, каким был файл 5 минут или 3 часа назад, а также вчера вечером, можно использовать локальную историю.

Откройте нужный файл, нажмите 2 раза быстро Shift-Shift и наберите "lochi":

-14

Выберите Show Local History... ("Показать локальную историю"). Откроется окно, где слева можно выбрать время. Здесь сравниваются две версии файла: за выбранное время и текущая. Можно нажимать на стрелки, чтобы откатить изменения:

-15

Локальная история работает как для консолей, так и для обычных файлов.

Далее

Мы напишем создание таблицы на SQL:

Оглавление: