Удаление строк из таблиц (DELETE)

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: