Операторы SQL (Structured Query Language — структурированный язык запросов) — это команды, используемые для взаимодействия с базами данных. Они позволяют создавать, изменять, удалять и запрашивать данные в реляционных базах данных.
Операторы SQL делятся на несколько категорий в зависимости от их назначения:
1. DML (Data Manipulation Language) — Язык манипулирования данными
Эти операторы используются для работы с данными в таблицах. К ним относятся:
- SELECT — используется для выборки данных из одной или нескольких таблиц.
SELECT * FROM table_name;
- INSERT — добавление новых строк в таблицу.
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
- UPDATE — обновление существующих данных в таблице.
UPDATE table_name SET column1 = value1 WHERE condition;
- DELETE — удаление данных из таблицы (полностью или по условию).
DELETE FROM table_name WHERE condition;
2. DDL (Data Definition Language) — Язык определения данных
DDL-операторы используются для создания и изменения структуры базы данных (схемы).
- CREATE — создание объектов базы данных, таких как таблицы, индексы, представления, базы данных и т.д.
CREATE TABLE table_name (
column1 datatype,
column2 datatype
);
- ALTER — изменение структуры существующих объектов, например, добавление нового столбца в таблицу.
ALTER TABLE table_name ADD column_name datatype;
- DROP — удаление объектов базы данных (таблиц, индексов и т.д.).
DROP TABLE table_name;
- TRUNCATE — удаление всех строк из таблицы, но без удаления самой структуры таблицы. В отличие от DELETE, после TRUNCATE не происходит логирования отдельных операций удаления каждой строки, что делает его быстрее.
TRUNCATE TABLE table_name;
3. DCL (Data Control Language) — Язык управления доступом к данным
Эти операторы используются для управления правами доступа к данным.
- GRANT — предоставление пользователю прав на выполнение операций.
GRANT SELECT, INSERT ON table_name TO user_name;
- REVOKE — отзыв прав у пользователя.
REVOKE SELECT, INSERT ON table_name FROM user_name;
4. TCL (Transaction Control Language) — Язык управления транзакциями
Операторы TCL используются для управления транзакциями, обеспечивая целостность данных.
- COMMIT — завершение транзакции и сохранение всех изменений в базе данных.
COMMIT;
- ROLLBACK — отмена транзакции и возврат базы данных в состояние до начала транзакции.
ROLLBACK;
- SAVEPOINT — создание точки в транзакции, к которой можно позже откатиться.
SAVEPOINT savepoint_name;
- SET TRANSACTION — установка параметров текущей транзакции (например, уровень изоляции транзакции).
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
5. Операторы для управления данными
Кроме стандартных операторов, SQL поддерживает различные выражения для выполнения вычислений и логических операций.
- WHERE — используется для фильтрации данных по условиям.
SELECT * FROM table_name WHERE condition;
- ORDER BY — сортировка результатов по одному или нескольким столбцам.
SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;
- GROUP BY — группировка данных по одному или нескольким столбцам.
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
- HAVING — фильтрация данных после группировки (используется после GROUP BY).
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 5;
JOIN — объединение данных из нескольких таблиц на основе определенного условия.
- INNER JOIN — возвращает строки, совпадающие в обеих таблицах.
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
- LEFT JOIN — возвращает все строки из левой таблицы и совпадающие строки из правой таблицы.
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
- RIGHT JOIN — возвращает все строки из правой таблицы и совпадающие строки из левой таблицы.
SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id;
- FULL OUTER JOIN — возвращает все строки, когда есть совпадения в обеих таблицах, а также строки, которые не совпадают.
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id = table2.id;
6. Операторы для управления индексами
Индексы позволяют ускорить поиск данных в таблицах.
- CREATE INDEX — создание индекса для одного или нескольких столбцов таблицы.
CREATE INDEX index_name ON table_name (column_name);
- DROP INDEX — удаление индекса.
DROP INDEX index_name;
Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?
Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика
Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.
Обязательно прочитайте: Что должен знать и уметь тестировщик
Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам