Основы SQL
SQL (Structured Query Language) — это язык структурированных запросов, предназначенный для управления данными в реляционных базах данных. Он позволяет создавать, изменять, удалять данные и управлять структурой базы данных.
Основные команды SQL
1. DDL (Data Definition Language) — Операторы определения данных
Эти команды используются для создания и изменения структуры базы данных.
CREATE TABLE
— создание таблицы:CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL );
ALTER TABLE
— изменение структуры таблицы:ALTER TABLE users ADD COLUMN age INT;
DROP TABLE
— удаление таблицы:DROP TABLE users;
2. DML (Data Manipulation Language) — Операторы манипуляции данными
Используются для работы с данными в таблицах.
INSERT
— добавление данных:INSERT INTO users (name, email) VALUES ('Иван', 'ivan@example.com');
UPDATE
— обновление данных:UPDATE users SET name = 'Иван Иванов' WHERE id = 1;
DELETE
— удаление данных:DELETE FROM users WHERE id = 1;
3. DQL (Data Query Language) — Операторы выборки данных
Используются для извлечения информации из базы данных.
SELECT
— получение данных:SELECT * FROM users;
Фильтрация данных с
WHERE
:SELECT * FROM users WHERE age > 18;
Сортировка с
ORDER BY
:SELECT * FROM users ORDER BY name ASC;
Ограничение числа записей с
LIMIT
:SELECT * FROM users LIMIT 5;
4. DCL (Data Control Language) — Операторы управления доступом
Используются для управления правами пользователей.
GRANT
— предоставление прав:GRANT SELECT, INSERT ON users TO 'user'@'localhost';
REVOKE
— отзыв прав:REVOKE INSERT ON users FROM 'user'@'localhost';
Виды соединений (JOIN)
SQL позволяет объединять данные из нескольких таблиц с помощью операторов JOIN
.
INNER JOIN
— возвращает записи, имеющие совпадения в обеих таблицах:SELECT users.name, orders.amount FROM users INNER JOIN orders ON users.id = orders.user_id;
LEFT JOIN
— возвращает все записи из левой таблицы и совпадающие записи из правой:SELECT users.name, orders.amount FROM users LEFT JOIN orders ON users.id = orders.user_id;
RIGHT JOIN
— аналогичноLEFT JOIN
, но возвращает все записи из правой таблицы:SELECT users.name, orders.amount FROM users RIGHT JOIN orders ON users.id = orders.user_id;
Группировка данных
SQL позволяет агрегировать данные с помощью GROUP BY
и функций агрегирования:
COUNT
— подсчет количества записей:SELECT COUNT(*) FROM users;
SUM
— сумма значений:SELECT SUM(amount) FROM orders;
AVG
— среднее значение:SELECT AVG(age) FROM users;
GROUP BY
используется для группировки данных:SELECT age, COUNT(*) FROM users GROUP BY age;
Вывод
SQL — это мощный язык для работы с базами данных, позволяющий эффективно управлять и анализировать данные. Изучение его основ необходимо для работы с реляционными базами данных.