ИЗМЕНЕНИЕ ЗАПИСЕЙ В ЗАПРОСЕ
FROM Авторы
Пример 3
УДАЛЕНИЕ ЗАПИСЕЙ В ЗАПРОСЕ
INSERT INTO Жанр
INSERT INTO Авторы
ДОБАВЛЕНИЕ ЗАПИСЕЙ В ЗАПРОСЕ
Лекция 4. Ввод, удаление и изменение данных с помощью SQL
Задача 4.
ПРЕДЛОЖЕНИЕ HAVING
Целью предложения GROUP BY является формирование строк для последующих действий над группами посредством других операций. Предложение HAVING используется для фильтрации записей, полученных в результате группировки GROUP BY.
HAVING является не обязательным. Если это предложение присутствует в команде SQL, то оно должно располагаться после предложения GROUP BY.
Функция предложения HAVING схожа с WHERE – используются для фильтрации. WHERE определяет какие записи должны участвовать в группировании а, HAVING определяет какие, из получившихся в результате группировки, записи будут включены в результатирующую выборку.
Решение: SELECT * FROM Книги
WHERE Издательство = 4
GROUP BY Автор HAVING Стоимость > 150;
Все новые записи вводятся в таблицу при помощи конструкции INSERT, которая в простейшем случае имееттакой синтаксис:
INSERT INTO <имя таблицы>
VALUES <значения>;
Пример 1. Чтобы добавить строку в таблицу Авторы, можно использовать следующую команду:
VALUES (3, 'Голицина О.Л.', 'Ольга', 'Леонидовна');
Если нужно вставить NULL-значение, то его необходимо указать как обычное значение.
Пример 2
VALUES (4, NULL);
Строки из таблицы можно исключить с помощью команды обновления DELETE. По этой команде исключаются только целые строки, а не отдельные значения полей. Таким образом, имя поля не является обязательным аргументом для выполнения этой команды и воспринимается как ошибочный аргумент. Синтаксис команды следующий:
DELETE FROM <имя таблицы>
WHERE <критерии отбора> ;
Для исключения всех строк из таблицы, следует ввести следующее предложение:
DELETE FROM <имя таблицы>;
В результате выполнения этой команды таблица становится пустой и ее можно удалить с помощью команды
DROP TABLE <имя таблицы>;
Чаще из таблицы требуется удалить только некоторые строки. Чтобы их определить, нужно, как и для запросовнавыборку, использовать <критерии отбора>.
DELETE *
WHERE Фамилия = 'Голицина О.Л.';
С инструкцией DELETE следует обращаться с величайшей осторожностью. Можно непреднамеренно удалить все строки таблицы. Инструкция DELETE без предложения WHERE применяется чрезвычайно редко, поэтому, прежде чем выполнить запрос, еще раз убедитесь в правильности написания инструкции DELETE.
Для изменения существующих значений в столбцах таблицы можно использовать инструкцию UPDATE. Упрощенный синтаксис этой инструкции следующий:
UPDATE <имя таблицы>
SET <имя столбца1>= значение, ..., <имя столбца n>= значение
WHERE <критерии отбора>;
Нет нужды ограничиваться обновлением значения единственного столбца в результате выполнения команды UPDATE. В предложении SET можно указать любое количество значений для столбцов, разделенных запятыми. Все указанные изменения выполняются для каждой строки таблицы, удовлетворяющей предикату WHERE.
Пример 4
UPDATE Жанр SET Жанр = "Рассказ"
WHERE [Код жанра]=2;
Задачи для самостоятельной работы
1. Запишите команду, которая вводит следующие значения в заданном порядке в таблицу Авторы: Код автора = 4, Фамилия = Грошев С.В., значения в полях Имя и Отчество отсутствуют(NULL).
2. Создать запрос, удаляющий все книги стоимостью менее 50 руб.
3. Запишите команду, которая позволяет продавать книги с 10% скидкой, если заказ более 50 штук.