Ответ
SQL (Structured Query Language) — это декларативный язык программирования, предназначенный для управления данными в реляционных системах управления базами данных (RDBMS), таких как PostgreSQL, MySQL, Oracle.
Основные категории команд (по стандарту ANSI):
| Категория | Ключевые операторы | Назначение |
|---|---|---|
| DDL (Data Definition Language) | CREATE, ALTER, DROP, TRUNCATE |
Определение и изменение структуры БД (таблицы, индексы). |
| DML (Data Manipulation Language) | SELECT, INSERT, UPDATE, DELETE, MERGE |
Манипуляция данными: чтение, добавление, изменение, удаление. |
| DCL (Data Control Language) | GRANT, REVOKE |
Управление правами доступа пользователей. |
| TCL (Transaction Control Language) | BEGIN, COMMIT, ROLLBACK, SAVEPOINT |
Управление транзакциями для обеспечения целостности данных (ACID). |
Базовый пример запроса SELECT с JOIN:
-- Выборка заказов с информацией о клиентах
SELECT
o.order_id,
o.order_date,
c.customer_name,
c.email
FROM orders o
INNER JOIN customers c ON o.customer_id = c.customer_id -- Соединение таблиц
WHERE o.status = 'shipped'
AND o.order_date >= '2024-01-01'
ORDER BY o.order_date DESC
LIMIT 10;
Роль SQL в QA Automation:
- Валидация данных: Проверка корректности записей в БД после выполнения тестовых сценариев (например, после API-вызова
POST /users). - Подготовка тестовых данных: Наполнение БД специфичными данными перед запуском тестовой серии (
INSERT, фикстуры). - Очистка окружения: Удаление тестовых данных после выполнения тестов (
DELETEв рамках@AfterEach). - Проверка бизнес-логики: Выполнение сложных запросов для проверки агрегаций, связей и консистентности данных.