Skip to content

Редактор запросов ​

Каждый запрос открывается в отдельной вкладке рабочей области подключений. Для SQL-баз и локальных файлов редактор принимает SQL, для MongoDB JavaScript, см. MongoDB.

Открыть вкладку запроса ​

  • В обозревателе щёлкните правой кнопкой базу, схему, таблицу или коллекцию и выберите Новый запрос. Можно также навести курсор на группу Запросы и нажать Новый запрос.
  • В открытой вкладке нажмите Запрос на панели инструментов.

Вкладка, открытая с таблицы, сразу содержит запрос, который читает из неё. Вкладка работает с той базой, с которой её открыли. Чтобы выполнить запрос к другой базе на том же сервере, откройте вкладку с этой базы в дереве.

Выполнить запрос ​

  1. Введите запрос в панели Код.
  2. Нажмите Выполнить. Результат появится под редактором, см. Результаты и правка.
  3. Чтобы остановить долгий запрос, нажмите Отменить. Эта кнопка заменяет Выполнить, пока запрос работает.

Кнопка с часами задаёт таймаут для вкладки: от 30 сек до 1 час, Без ограничения или Другое значение…. Вкладки со значением по умолчанию используют Таймаут по умолчанию из Настройки > Общее.

История показывает прошлые запуски вкладки со статусом и длительностью. Открыть возвращает в редактор запрос и параметры выбранного запуска.

Автодополнение ​

Подсказки появляются по мере ввода. Для SQL это ключевые слова, Шаблон SELECT, Шаблон JOIN и Шаблон GROUP BY, таблицы, представления и столбцы с типами. Во вкладке, открытой с таблицы, её столбцы идут первыми. Для MongoDB предлагаются методы, Шаблон find, Шаблон aggregate, коллекции и поля.

Подсказки строятся по кешу схемы. Если новой таблицы нет в подсказках, обновите кеш, как описано в статье Обозреватель.

Форматирование ​

Нажмите Форматировать код в заголовке панели Код. SQL форматируется с учётом диалекта подключения, запросы MongoDB как JavaScript. Открыть в большом окне даёт больше места для длинных запросов.

Параметры ​

Панель Параметры под кодом принимает JSON:

  • JSON-объект для именованных параметров вида :name;
  • JSON-массив для позиционных параметров вида ?.
sql
SELECT * FROM orders WHERE customer_id = :customer AND status = :status
json
{ "customer": 42, "status": "paid" }

QueryLane передаёт значения в базу как связанные параметры, а не вставляет их в текст запроса. Если для параметра нет значения, запрос останавливается с ошибкой. В запросах MongoDB значения доступны как params.

Сохранить запрос ​

  1. Нажмите Сохранить.
  2. Введите Название и при желании Описание, затем нажмите Сохранить.

Запрос появится в группе Запросы своей базы или схемы. Если вы меняете сохранённый запрос, у вкладки появляется метка изменен, пока вы снова не нажмёте Сохранить. Для сохранённого запроса кнопка Сохранить как рядом с Сохранить создаёт копию под новым названием. Свой таймаут сохраняется вместе с запросом.

Кнопка Сохраненные на панели инструментов открывает список сохранённых запросов подключения с поиском. Там можно изменить описание, удалить запрос или открыть История версий. QueryLane хранит до 25 прошлых версий каждого запроса, кнопка Восстановить возвращает выбранную.

Транзакции ​

Отложенные транзакции работают в PostgreSQL, MySQL, SQLite и совместимых с ними СУБД.

  1. Нажмите Начать. У вкладки появится метка транзакция · 0.
  2. Напишите оператор и нажмите Добавить, эта кнопка заменяет Выполнить. QueryLane добавляет оператор в транзакцию, не выполняя его. Повторите для каждого оператора.
  3. Нажмите Коммит, чтобы отправить все добавленные операторы в базу одним блоком BEGIN … COMMIT, или Откат, чтобы их отбросить. После отката база остаётся без изменений.

До Коммит в базу ничего не попадает, поэтому добавленные операторы не возвращают строк, а промежуточные результаты внутри транзакции прочитать нельзя.

Вкладка запроса с меткой «транзакция · 2» и кнопками «Добавить», «Коммит» и «Откат»

План запроса ​

Нажмите План. QueryLane откроет новую вкладку с названием План: и заголовком исходной вкладки и выполнит в ней запрос плана:

СУБДЗапрос плана
PostgreSQLEXPLAIN (FORMAT JSON)
SQLiteEXPLAIN QUERY PLAN
MySQL, ClickHouse, локальные файлыEXPLAIN
MongoDB.explain('executionStats') для запросов find или aggregate

Запрос, который уже начинается с EXPLAIN, выполняется как есть. План выводится как обычный результат, его можно смотреть таблицей, JSON или деревом. Графической схемы плана нет. MongoDB выполняет запрос, чтобы собрать статистику.