Работа с базами данных
Работа с базами данных осуществляется с помощью блоков:
- SQL-запрос
- Выбрать строки через SQL-запрос
- Добавить строки
- Обновить строки
- Получить схему таблицы
- Получить системную таблицу
- Создать таблицу
- Удалить таблицу
- Переименовать таблицу
- Очистить таблицу
В каждом блоке с SQL-запросом и в блоке «Добавить строки» можно подставить названия колонок с помощью визуального маппинга. В одном SQL-запросе могут быть указаны разные поля маппинга: те, что используются в безопасном режиме, и те, что его игнорируют. Чтобы отключить безопасный режим и подставить название колонки или таблицы в запрос, добавьте знак !
перед полем маппинга.
Отключение безопасного режима может привести к SQL-инъекциям. Применяйте этот функционал только в том случае, если вы полностью уверены в безопасности значений в используемых переменных.
SQL-запрос
С помощью запросов в блоке можно создавать, редактировать и удалять таблицы в базе данных, а также извлекать информацию из них.
У SQL-запроса обязательными параметрами являются запрос и подключение (при обращении к БД).
Пример удаления данных из таблицы с помощью запроса:
- Возьмем таблицу phases.
- В скрипт добавим блок SQL-запрос и создадим запрос в соответствующем поле.
- Протестируем и вернемся в таблицу, чтобы убедиться, что данные удалены.
Выбрать строки через SQL-запрос
Блок позволяет создать произвольный SQL-запрос в определенный пакет.
Параметры блока:
- SQL-запрос (инструкции выбора SELECT)
- Limit (количество строк)
- Offset (количество пропускаемых строк)
- Order by (порядок строк/сортировать по)
Добавить строки
Блок используется для заполнения и создания таблиц с использованием выходных данных предыдущих блоков.
Обязательные параметры блока:
- подключение (при обращении к БД)
- таблица (можно выбрать из списка или задать вручную)
- колонки (название, значение)
Через редактор таблиц на левой панели вы можете изменять, добавлять и удалять колонки. Изменения влияют на таблицы в пространстве.
Чтобы создать таблицу:
- Нажмите на название таблицы и выберите Добавить таблицу.
- Выберите Создать новую и заполните поля:
- название таблицы
- название колонки
- тип данных
- Создать из выходных данных. Появляется список колонок из предыдущих блоков. Вы можете выбрать колонки по одной или отметить блок и автоматически выбрать все его колонки
- Для сохранения нажмите Добавить, чтобы отменить действие нажмите Отмена.
В этом блоке можно использовать визуальный маппинг.
Обновить строки
Блок обновляет информацию в таблицах с помощью маппинга.
Обязательные параметры блока:
- подключение (при обращении к БД)
- таблица
- колонка-ключ (указывается колонка, по которой будут сравниваться значения)
- значение ключа (указывается значение колонки-ключа)
- новые значения колонок
Колонка-ключ и значение ключа помогают найти строки, которые нужно обновить. Если нужная строка не была найдена, но ее необходимо добавить в таблицу, активируйте переключатель Добавить ненайденные строки.
Получить схему таблицы
Блок позволяет получить имя и схему конкретной таблицы базы данных.
В Параметрах необходимо указать таблицу из базы данных. Выберите таблицу из списка или введите её название вручную.
По умолчанию выходные данные отображают данные первой строки по колонкам, имя и схему таблицы.
Получить системную таблицу
Блок предназначен для поставки в ClickHouse обновленных данных из системных таблиц. Необходимо выбрать доступную исходную системную таблицу и ее поля. Блок при каждом запуске возвращает все строки таблицы, а не только новые после предыдущего запуска.
Параметры блока:
- таблица (выбрать из списка)
- колонки (Можно выбрать любое количество колонок. Если не выбрано ни одной колонки, то автоматически считается, что выбраны все)
- Должна быть выбрана таблица, иначе блок невозможно протестировать, а скрипт с этим блоком невозможно опубликовать.
- Для работы с блоком необходима привилегия Системные таблицы.
Описание полей системных таблиц, доступных для обновления через блок в скрипте автоматизации, представлено в разделе Системные таблицы.
Создать таблицу
Используйте блок, чтобы создавать таблицы в базе данных пространства при работе в кластерном режиме. Если кластер отсутствует, блок будет работать в некластерном режиме.
Параметры блока:
- название таблицы (указать с помощью маппинга)
- форма запроса (выбрать из списка)
- на основе данных
- колонки (отображается, если опция «На основе данных» выключена. Необходимо указать название и тип данных. Также вы можете включить null-значения у колонок)
- select-запрос (отображается, если опция «На основе данных» включена. Введите часть запроса, начинающуюся c
SELECT
) - партиционирование
- сортировка
Блок не возвращает данные.
Пример создания таблицы с помощью блока:
- Подставим название таблицы в соответствующее поле с помощью маппинга.
- Выберем форму запроса «Создать таблицу, если не существует».
- Зададим колонки, которые должны быть в таблице.
- Укажем колонку, по которой таблица будет сортироваться.
- Протестируем блок.
- Блок не возвращает данные, поэтому во вкладке Тест мы видим только то, что он успешно выполнен.
Удалить таблицу
Используйте блок, чтобы удалять выбранные таблицы из базы данных пространства при работе в кластерном режиме.
В параметрах блока с помощью визуального маппинга укажите таблицу, которую необходимо удалить.
Блок не возвращает данные.
Переименовать таблицу
Используйте блок, чтобы переименовать таблицы в базе данных пространства при работе в кластерном режиме.
Параметры:
- таблица (подставьте с помощью маппинга)
- новое имя
Блок не возвращает данные.
Очистить таблицу
Используйте блок, чтобы очищать данные выбранных таблиц в базе данных пространства при работе в кластерном режиме.
В параметрах блока с помощью визуального маппинга укажите таблицу, в которой необходимо очистить данные.
Блок не возвращает данные.
Использование сессий
Для всех блоков пакетов Пространство и ClickHouse есть возможность активировать режим сессий, который позволяет отправлять запросы в ClickHouse в рамках сессии и предоставляет возможность работать с временными таблицами и параметрами.
По умолчанию режим сессий отключен. Чтобы активировать его, передвиньте переключатель в положение «включено». При включении сессия будет активирована на время, указанное в настройках подключения.
Время сессий у блоков пакета ClickHouse настраивается при создании подключения в пространстве.
Время сессий у блоков пакета Пространство указывается в настройках хранилища данных.
Блоки, для которых возможно использовать режим сессий:
- SQL-запрос
- Добавить строки
- Выбрать строки через SQL-запрос
- Обновить строки
- Получить схему таблицы
Была ли статья полезна?