SQL (Structured Query Language) — это стандартный язык для работы с реляционными базами данных, позволяющий выполнять операции создания, изменения, удаления и выборки данных. SQL используется для взаимодействия с базой данных, и благодаря его универсальности, он поддерживается большинством современных систем управления базами данных (СУБД), таких как MySQL, PostgreSQL, SQL Server и Oracle.
SQL делится на несколько подъязыков, каждый из которых предназначен для выполнения различных задач:
Язык SQL предоставляет возможности для создания и управления структурой базы данных, а также для задания ограничений целостности данных, что помогает поддерживать корректность и согласованность данных.
DDL включает команды для создания, изменения и удаления объектов базы данных, таких как таблицы, индексы и представления.
Команда CREATE используется для создания новых таблиц и других объектов в базе данных. Она позволяет задавать имена столбцов и их типы данных.
CREATE TABLE Клиенты (
ID INT PRIMARY KEY,
Имя VARCHAR(50),
Адрес VARCHAR(100),
Телефон VARCHAR(15)
);
Команда ALTER позволяет изменять структуру уже существующих объектов базы данных, добавляя, изменяя или удаляя столбцы и ограничения.
ALTER TABLE Клиенты
ADD Дата_Рождения DATE;
Команда DROP используется для удаления объектов, таких как таблицы или индексы.
DROP TABLE Клиенты;
Ограничения целостности помогают поддерживать согласованность и корректность данных. Основные ограничения включают:
CREATE TABLE Заказы (
ID INT PRIMARY KEY,
Дата DATE NOT NULL,
Сумма DECIMAL(10, 2) CHECK (Сумма > 0),
ID_Клиента INT,
FOREIGN KEY (ID_Клиента) REFERENCES Клиенты(ID)
);
Язык манипуляции данными (DML) включает команды для добавления, обновления и удаления данных в таблицах.
Команда INSERT добавляет новые строки в таблицу. Она позволяет вставлять как конкретные значения, так и значения, полученные из других таблиц.
INSERT INTO Клиенты (ID, Имя, Адрес, Телефон)
VALUES (1, 'Иван Иванов', 'Москва, ул. Пушкина', '+7 123 456-78-90');
Команда UPDATE позволяет изменять существующие данные в таблице. Она используется вместе с условием WHERE, чтобы изменить только нужные записи.
UPDATE Клиенты
SET Телефон = '+7 987 654-32-10'
WHERE ID = 1;
Команда DELETE удаляет строки из таблицы. Условия WHERE позволяют удалить только определённые записи.
DELETE FROM Клиенты
WHERE ID = 1;
SQL предоставляет мощные средства для выборки данных с помощью команды SELECT. Запросы позволяют извлекать данные из одной или нескольких таблиц, фильтровать, сортировать и группировать их.
Команда SELECT используется для извлечения данных из таблиц. Она позволяет указывать, какие столбцы нужны, и задавать условия для фильтрации.
SELECT Имя, Телефон
FROM Клиенты
WHERE Город = 'Москва';
Операция JOIN объединяет данные из двух или более таблиц по общим атрибутам. INNER JOIN выбирает только записи с совпадающими значениями, LEFT JOIN сохраняет все записи из левой таблицы и добавляет соответствующие из правой.
SELECT Клиенты.Имя, Заказы.Сумма
FROM Клиенты
INNER JOIN Заказы ON Клиенты.ID = Заказы.ID_Клиента;
Команда GROUP BY позволяет группировать данные и вычислять агрегатные значения, такие как сумма, среднее значение и количество.
SELECT Город, COUNT(*) AS Количество
FROM Клиенты
GROUP BY Город;
Команда ORDER BY используется для сортировки результатов запроса по одному или нескольким столбцам, в порядке возрастания (ASC) или убывания (DESC).
SELECT Имя, Телефон
FROM Клиенты
ORDER BY Имя ASC;
SQL предоставляет обширный набор команд для работы с реляционными базами данных, начиная от создания и настройки структуры данных до их модификации и извлечения. Средства SQL обеспечивают создание надёжных и целостных баз данных, удобный и эффективный доступ к данным, что делает SQL основным языком для управления данными в современных СУБД.