Кроме создания и добавления данных в таблицы, 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 позволяет создавать более сложные и эффективные запросы, позволяющие получить именно ту информацию, которая нужна.