Мы можем удалять строки из таблицы командой модификации - DELETE. Она может удалять только целые строки, а не отдельные значения полей. Чтобы удалить все содержание таблицы Клиентов, нам нужно ввести:
DELETE FROM Клиент;
Чаще, нам нужно удалить только некоторые определенные строки из таблицы. Чтобы определить какие строки будут удалены, мы используем WHERE, так же как вы это делали для запросов SELECT. Например, чтобы удалить из таблицы клиента с идентификатором 666, мы вводим:
DELETE FROM Клиент
WHERE Idn = 1003;
Можно также использовать DELETE с предикатом который бы выбирал группу строк, как показано в этом примере:
DELETE FROM Клиент
WHERE Idn_города = 33;
Изменение значений поля (UPDATE)
UPDATE -изменяет значения строк в таблице.
Например, можно повысить Idn всех клиентов на 5:
UPDATE КЛИЕНТ
SET IDN= IDN +5
Выходные данные:
IDN | IDN_ГОРОДА | ИМЯ | РЕКВИЗИТЫ | IDN_БАНКА |
Петров | -------------- | |||
Кузнецов | -------------- | |||
Иванов | -------------- | |||
Золин | -------------- | |||
Киров | -------------- | |||
Павлов | -------------- | |||
Петренко | -------------- |
Чаше, приходится изменять значения для некоторых выбранных строк, для этого используется WHERE
|
|
Следующий пример позволяет поменять идентификатор банка для всех клиентов, у которых он равен 23
UPDATE КЛИЕНТ
SET IDN_банка = IDN_банка 54
WHERE IDN_банка = 23
В приведенных выше примерах модифицировался только один столбец, однако, мы можем указать любое число столбцов, отделяемых запятыми. Покажем, как изменить название и реквизиты для клиента с идентификатором 1001
UPDATE КЛИЕНТ
SET Название = ‘Московские баранки’,
Реквизиты = ‘Политехнический проезд 12’
WHERE IDN = 1001
Использование подзапросов для команд модификации данных
6.6.4.1 Использование подзапросов в INSERT
Наиболее часто подзапрос используется с командой INSERT, которая добавляет строки в таблицу. Фактически случай вставки в таблицу результатов запроса рассмотренный в 5.6.1.3 и является случаем использования подзапроса с INSERT. Приведем еще один пример.
Предположим, есть таблица с именем Тклиент (содержащая информацию о клиентах из Перми) определения столбцов которой полностью соответствуют определениям таблицы Клиент. Заполнение таблицы ТКлиент:
INSERT INTO ТКЛИЕНТ
SELECT * FROM КЛИЕНТ
WHERE IDN_ ГОРОДА= 104;
Выходные данные:
Idn | Idn_города | Имя | реквизиты | Idn_банка |
Кузнецов | -------------- | |||
Золин | -------------- |
Подзапрос отыскивает всех клиентов с Idn_ города = 104, а INSERT помещает результат подзапроса в ТКлиент.