[Документация Yandex Cloud](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Пошаговые инструкции](../../index.md) > Workflows > [Конструктор шагов рабочего процесса](index.md) > Интеграционные шаги > Database Query

# Выполнение SQL-запросов к базам данных

{% list tabs %}

- Консоль управления {#console}

  1. В процессе [создания](../workflow/create-constructor.md) нового рабочего процесса или [изменения](../workflow/update.md) существующего в консоли управления в блоке **Создание рабочего процесса** / **Изменение рабочего процесса** выберите `Конструктор`. 
  1. Из секции **Интеграционные шаги** в левой части экрана перетащите элемент ![database-magnifier](../../../../_assets/console-icons/database-magnifier.svg) **Database Query** в нужное место рабочего процесса в окне конструктора.

      Перетаскивать шаги можно в обозначенные пунктирной линией блоки на графической схеме рабочего процесса, такие как **Добавить шаг** и т.п.
  1. В окне со схемой рабочего процесса нажмите на добавленный блок **Database Query**, чтобы выбрать его.
  1. В правой части окна на вкладке **Настройки**:

      1. В поле **Имя шага** задайте имя шага рабочего процесса.
      1. В блоке **Параметры подключения** выберите:

          * `Подключение`, чтобы создать подключение к базе данных.

              1. Укажите в поле:

                  * **Тип базы данных** — тип базы данных, к которой нужно подключиться.

                      Для базы данных MySQL® устанавливается кодировка `utf8mb4` для значений полей.

                  * **Хост** — адрес сервера базы данных.
                  * **Порт** — порт для подключения к базе данных.
                  * **База данных** — имя базы данных.

              1. Выберите **Использовать SSL**, чтобы подключаться к базе данных, используя SSL-соединение.

                  Если опция выбрана, для базы данных:
                  * PostgreSQL включается шифрование SSL. 
                  * ClickHouse® разрешаются защищенные SSL-соединения.

              1. В блоке **Аутентификация** выберите:

                  * `Пароль`, чтобы подключаться к базе данных, используя имя пользователя и пароль. Укажите имя пользователя и выберите:

                      * `Lockbox`, чтобы хранить пароль в секрете Yandex Lockbox, и в блоке **Cекрет** выберите секрет, его [версию](../../../../lockbox/concepts/secret.md#version) и ключ, в которых сохранен пароль.

                          Если у вас еще нет секрета Yandex Lockbox, нажмите кнопку **Создать**, чтобы создать его.

                      * `Текст`, чтобы хранить пароль в спецификации в виде текста, и в поле **Значение** введите пароль.

                          {% note warning %}

                          Хранить пароль в открытом виде в тексте спецификации небезопасно.

                          {% endnote %}

                  * `IAM-токен`, чтобы подключаться к базе данных, используя IAM-токен сервисного аккаунта, указанного в настройках рабочего процесса.

                      {% note info %}

                      Аутентификация по IAM-токену доступна только для базы данных YDB.

                      {% endnote %}

          * `DSN`, чтобы указать строку подключения к базе данных.

      1. В поле **SQL-запрос** укажите SQL-запрос, который нужно выполнить.
      1. В поле **Метод выполнения** выберите:

          * `Exec`, чтобы выполнить SQL-запрос и вернуть только служебные поля, например `RowsAffected` и `LastInsertId`.
          * `Query`, чтобы выполнить SQL-запрос и вернуть результат.

      1. (Опционально) В поле **Таймаут, мс** задайте максимальное время выполнения текущего шага.
      1. (Опционально) Чтобы задать для шага собственную политику повторных попыток, разверните блок **Политика повторных попыток** и нажмите кнопку ![plus](../../../../_assets/console-icons/plus.svg) **Политика повторных попыток**. В появившейся форме:
         
         1. (Опционально) В поле **Начальная задержка, мс** задайте начальное значение задержки между повторными попытками выполнения шага.
         1. (Опционально) В поле **Скорость изменения задержки** задайте коэффициент, на который будет умножаться время задержки перед каждой повторной попыткой выполнения шага.
         1. (Опционально) В поле **Максимальная задержка, мс** задайте значение максимальной задержки между повторными попытками выполнения шага.
         1. В поле **Ошибки** выберите ошибки, для которых будут (или, наоборот, не будут) сделаны повторные попытки выполнения шага.
         
             Подробная информация о возможных ошибках приведена в разделе [Возможные коды ошибок](../../../concepts/workflows/execution.md#errors).
         1. (Опционально) В поле **Количество повторных попыток** задайте максимальное количество повторных попыток выполнения шага.
         1. В поле **Режим выбора ошибок** выберите:
         
             * `INCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении ошибок, указанных в поле **Ошибки**.
             * `EXCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении любых ошибок, за исключением ошибок, указанных в поле **Ошибки**.
         
         Если вы хотите удалить политику повторных попыток, ранее созданную для шага, в строке **Политика повторных попыток** нажмите ![ellipsis](../../../../_assets/console-icons/ellipsis.svg) и выберите **Удалить**.
         
         Если для шага не настроена собственная политика повторных попыток, к нему будет применяться политика повторных попыток, [заданная для всего рабочего процесса](setup-restart-policy.md).
  1. (Опционально) Перейдите на вкладку **Вход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации [состояния рабочего процесса](../../../concepts/workflows/workflow.md#state), которое передается в шаг.
  1. (Опционально) Перейдите на вкладку **Выход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации выходных данных шага, которые добавляются в [состояние рабочего процесса](../../../concepts/workflows/workflow.md#state).
  1. (Опционально) [Добавьте](setup-catch-rule.md) для создаваемого шага [правило перехода по ошибкам](../../../concepts/workflows/yawl/index.md#catchrule), которые могут возникать во время выполнения этого шага.

{% endlist %}

## Полезные ссылки {#see-also}

* [Спецификация YaWL](../../../concepts/workflows/yawl/integration/databasequery.md)
* [Создать рабочий процесс с помощью конструктора](../workflow/create-constructor.md)
* [Изменить рабочий процесс](../workflow/update.md)