Основы SQL
Что такое SQL?
SQL (Structured Query Language) — это язык программирования, предназначенный для управления и манипуляции данными в реляционных базах данных.
Основные возможности:
-
Создание и модификация структур данных:
CREATE,ALTER,DROP
-
Манипуляция данными:
INSERT,UPDATE,DELETE
-
Запрос данных:
-
SELECT
-
-
Управление доступом:
GRANT,REVOKE
Пример:
-- Создание таблицы
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
-- Вставка данных
INSERT INTO users (id, name, email) VALUES (1, 'Alice', 'alice@example.com');
-- Запрос данных
SELECT * FROM users;
-- Обновление данных
UPDATE users SET email = 'alice@newdomain.com' WHERE id = 1;
-- Удаление данных
DELETE FROM users WHERE id = 1;
SQL используется для взаимодействия с базами данных, позволяя выполнять различные операции с данными.
Какие существуют операторы SQL?
Основные операторы SQL:-
DDL (
Data Definition Language) — Операторы определения данных:-
CREATE: Создание таблиц, баз данных, индексов и т.д. -
ALTER: Изменение структуры таблиц. -
DROP: Удаление таблиц, баз данных, индексов.
-
-
DML (
Data Manipulation Language) — Операторы манипуляции данными:-
SELECT: Извлечение данных из таблиц. -
INSERT: Вставка данных в таблицы. -
UPDATE: Обновление данных в таблицах. -
DELETE: Удаление данных из таблиц.
-
-
DCL (
Data Control Language) — Операторы управления доступом:-
GRANT: Предоставление привилегий пользователям. -
REVOKE: Отзыв привилегий у пользователей.
-
-
TCL (
Transaction Control Language) — Операторы управления транзакциями:-
COMMIT: Фиксация изменений в базе данных. -
ROLLBACK: Отмена изменений в базе данных. -
SAVEPOINT: Создание точки сохранения в транзакции.
-
Примеры:
-- DDL
CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100));
ALTER TABLE users ADD email VARCHAR(100);
DROP TABLE users;
-- DML
SELECT * FROM users;
INSERT INTO users (id, name, email) VALUES (1, 'Alice', 'alice@example.com');
UPDATE users SET email = 'alice@newdomain.com' WHERE id = 1;
DELETE FROM users WHERE id = 1;
-- DCL
GRANT SELECT ON users TO someuser;
REVOKE SELECT ON users FROM someuser;
-- TCL
BEGIN;
UPDATE users SET email = 'alice@anotherdomain.com' WHERE id = 1;
SAVEPOINT sp1;
DELETE FROM users WHERE id = 1;
ROLLBACK TO sp1;
COMMIT;
Что означает NULL в SQL?
NULL в SQL означает отсутствие значения или неопределённое значение
в поле.
Основные моменты:
-
Не равно нулю или пустой строке:
NULLпредставляет неизвестное или отсутствующее значение. -
Сравнения с
NULL: Используются операторыIS NULLиIS NOT NULL. -
Арифметические операции: Любая операция с
NULLвозвращаетNULL.
Примеры:
-- Проверка на NULL
SELECT * FROM users WHERE email IS NULL;
-- Установка значения NULL
UPDATE users SET email = NULL WHERE id = 1;
NULL используется для указания, что значение в поле неизвестно или
отсутствует.
Для чего применяется ключевое слово UNION?
Ключевое слово UNION используется для объединения результатов двух или более SELECT запросов в один результат, исключая дубликаты.
Пример:
SELECT name FROM users1
UNION
SELECT name FROM users2;
Основные моменты:
-
Исключает дубликаты: Объединяет результаты запросов, удаляя повторяющиеся строки.
-
UNION ALL: Включает все дубликаты.
SELECT name FROM users1 UNION ALL SELECT name FROM users2;
UNION полезен для объединения данных из нескольких таблиц или
запросов в один результат.