SQL (Structured Query Language) - универсальный язык работы с базами данных. Все SQL-команды делятся на группы в зависимости от того, какую задачу они решают:
DML (Data Manipulation Language) = манипуляция данными
Позволяет работать с содержимым таблиц: добавлять, изменять, удалять и извлекать содержимое таблиц, напрямую воздействуя на данные.
INSERT INTO - добавляет новые записи
INSERT INTO users (id, username) VALUES (1, 'Ivan');
UPDATE - обновляет существующие данные
UPDATE users SET username = 'IvanPetrov' WHERE id = 1;
DELETE - удаляет записи
DELETE FROM users WHERE id = 1;
DDL (Data Definition Language) = определение структуры данных
Отвечает за создание и изменение структуры базы данных: таблиц, индексов или схем.
CREATE TABLE - создание таблицы
CREATE TABLE users (id INT, username VARCHAR(100));ALTER TABLE - изменение структуры (например, добавление столбца)
ALTER TABLE users ADD email VARCHAR(255);DROP TABLE - удаление таблицы
DROP TABLE users;
TRUNCATE TABLE - очистка всех данных в таблице
TRUNCATE TABLE users;
DCL (Data Control Language) = управление доступом
Позволяет управлять правами пользователей и доступом к данным.
GRANT - предоставление прав
GRANT SELECT ON users TO 'readonly_user';
REVOKE - отзыв прав
REVOKE SELECT ON users FROM 'readonly_user';
DQL (Data Query Language) = язык запросов
Основная команда - SELECT, которая позволяет запрашивать и извлекать данные из базы, без изменения содержимого таблиц.
Позволяет читать данные, фильтровать, группировать, сортировать, агрегировать информацию.
SELECT * FROM users WHERE age > 18;DQL включает:
- фильтрацию (WHERE)
- сортировку (ORDER BY)
- группировку (GROUP BY)
- агрегирование (COUNT, SUM, AVG, MIN, MAX)
- соединения таблиц (JOIN)
Понимание классификации SQL-команд поможет тестировщику осознанно строить запросы к БД, эффективно работать с данными, тем самым проактивно отслеживая проблемы и обеспечивая более полное тестирование.
📱 Реальные примеры, когда QA использует SQL-запросы на бусти