Ответ
В работе DevOps-инженера часто приходится взаимодействовать с базами данных для настройки, мониторинга или отладки. Вот основные SQL-команды, которые я регулярно использую:
1. DDL (Data Definition Language) — для управления структурой:
CREATE DATABASE/TABLE: Создание объектов.CREATE TABLE app_logs ( id SERIAL PRIMARY KEY, timestamp TIMESTAMP NOT NULL, service_name VARCHAR(50), message TEXT );ALTER TABLE: Изменение структуры (добавление индекса для ускорения запросов мониторинга).ALTER TABLE app_logs ADD INDEX idx_service_time (service_name, timestamp);DROP TABLE: Удаление объектов (использую с большой осторожностью!).
2. DML (Data Manipulation Language) — для работы с данными:
SELECT: Получение данных для анализа. Например, чтобы найти топ-5 сервисов по количеству ошибок.SELECT service_name, COUNT(*) as error_count FROM app_logs WHERE message LIKE '%ERROR%' AND timestamp > NOW() - INTERVAL '1 hour' GROUP BY service_name ORDER BY error_count DESC LIMIT 5;INSERT: Добавление тестовых данных или записей конфигурации.UPDATE/DELETE: Корректировка или очистка данных.
3. DCL (Data Control Language) — для управления доступом:
GRANT/REVOKE: Критически важные команды в DevOps для настройки прав доступа сервисных пользователей и мониторинговых систем к БД.GRANT SELECT ON app_logs TO monitoring_user;
В инфраструктуре как код (IaC) эти операции часто автоматизируются с помощью миграций (например, Liquibase, Flyway) или инструментов вроде Terraform providers для баз данных.