Кроме создания и добавления данных в таблицы, SQL позволяет забирать и вносить изменения в хранящуюся информацию.
Самый распространенный тип запроса – SELECT. Он позволяет получить данные из таблицы. Рассмотрим его работу на пример таблицы students.
CREATE TABLE students (
id SERIAL PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
age INTEGER,
);
Чтобы узнать имена и фамилии всех учеников, можно использовать запрос:
SELECT first_name, last_name FROM students;
Этот запрос значит: выбрать из таблицы students столбцы first_name и last_name и показать их значения.
Кроме того метод SELECT со звездочкой вместо списка столбцов выведет все поля записи:
SELECT * FROM students;
Метод UPDATE позволяет изменять существующие данные в таблице. Чтобы поменять фамилию ученика, которого зовут «Иван» и чья фамилия «Иванов», на «Петров», необходимо отправить такой запрос:
UPDATE students SET last_name = 'Петров' WHERE first_name = 'Иван' AND last_name = 'Иванов';
В этом запросе было использовано ключевое слово WHERE, благодаря которому можно составлять условия на подходящие записи в базе данных. Целиком запрос значит: обновить таблицу students, заменив в строке, где first_name равно Иван и last_name равно Иванов, значение last_name на Петров.
Метод DELETE используется для удаления информации из таблицы. Например следующий запрос удалит данные об ученике, которого зовут «Иван» и чья фамилия «Иванов»:
DELETE FROM students WHERE first_name = 'Иван' AND last_name = 'Иванов';
Этот запрос значит: удалить из таблицы students строку, где first_name равно Иван и last_name равно Иванов.
Метод ORDER BY позволяет отсортировать результаты запроса по определенному столбцу.
Например, чтобы получить список всех учеников, отсортированный по фамилии в алфавитном порядке, можно использовать такой запрос:
SELECT first_name, last_name FROM students ORDER BY last_name;
Чтобы отсортировать в обратном порядке, необходимо добавить DESC после имени столбца:
SELECT first_name, last_name FROM students ORDER BY last_name DESC;
GROUP BY позволяет сгруппировать строки с одинаковыми значениями в определенном столбце.
Например, чтобы получить число школьников одного возраста можно использовать такой запрос:
SELECT age, COUNT(*) FROM students GROUP BY age;
В этом запросе используется функция COUNT, которая выводит число записей. Таким образом запрос значит: выведи число учеников каждого возраста.
SQL-запросы – это мощный инструмент, позволяющий эффективно работать с данными в базе данных. Знание основных типов запросов – SELECT, UPDATE и DELETE – позволит извлекать, обновлять и удалять данные из таблиц
Использование WHERE, ORDER BY и GROUP BY позволяет создавать более сложные и эффективные запросы, позволяющие получить именно ту информацию, которая нужна.