double arrow

Примеры. Обновление нескольких столбцов в одной или нескольких записях

DELETE

DML в InterBase

Обновление нескольких столбцов в одной или нескольких записях

Теперь давайте разберемся с тем, как обновить с помощью оператора UPDATE несколько столбцов сразу. Рассмотрим синтаксис подходящего оператора.

update имя_таблицы set столбец1 = 'значение'[, столбец2 = 'значение']

[, столбец3 = 'значение'] [where условие];

Обратите внимание на использование ключевого слова SET – оно одно, а описаний столбцов – несколько. Описания столбцов разделяются запятыми. К этому моменту вы, должно быть, уже почувствовали логику SQL. В операторах SQL запятая обычно используется для разделения различного типа аргументов.

UPDATE ORDERS_TBL SET QTY = 1, CUST_ID = '221' WHERE ORD_NUM = '23A16';

Здесь запятая использована для разделения описаний, вносимых в столбцы изменений. Использовать задающее условия выражение с ключевым словом WHERE не обязательно, но обычно необходимо.

Ключевое слово SET в операторе UPDATE используется только один раз. Если необходимо обновить несколько столбцов, они разделяются запятыми.

Удаление данных из таблиц

Для удаления данных из таблиц используется команда DELETE. Команда DELETE предназначена не для того, чтобы удалять значения отдельных столбцов, а для того, чтобы удалять целые записи. Оператор DELETE следует применять с осторожностью – слишком уж «безотказно» он работает.

Чтобы удалить одну или несколько записей из таблицы, используйте следующий синтаксис оператора DELETE:

delete from имя_схемы.имя_таблицы [where условие];

DELETE FROM ORDERS_TBL WHERE ORD_NUM = '23A16';

Здесь следует обратить внимание на выражение с ключевым словом WHERE. При удалении строк из таблицы это выражение представляет собой очень важную часть оператора DELETE. Оператор DELETE без ключевого слова WHERE может понадобиться вам крайне редко. Если вы им воспользуетесь, результат будет подобен следующему:

DELETE FROM ORDERS_TBL;

Если ключевое слово WHERE в операторе DELETE опущено, будут удалены все строки таблицы. Поэтому примите за правило всегда использовать ключевое слово WHERE в операторе DELETE.

Перед тем, как использовать операторы DELETE и UPDATE по отношению к таблицам нашей базы данных, было бы неплохо поучиться использовать эти операторы с той временной таблицей, которую мы с вами создали ранее на основе данных одной из таблиц базы данных.

DELETE определяет одну или более строк, чтобы удалить из таблицы или редактируемого (updatable) вида. DELETE – одна из привилегий, которые контролируются инструкциями GRANT и REVOKE.

Для определения строк, которые следует удалить, может быть использовано факультативное предложение WHERE.

Предостережение: Если не используется предложение WHERE, удалены все строки из таблицы.

Синтаксис

DELETE FROM table [WHERE <search_condition>];

Аргумент Описание
table Имя таблицы из которой удаляются строки.
<search_condition> Условия поиска, которые определяют строки для удаления. Если это предложение не используется, DELETE воздействует на все строки в определенной таблице или виде.

Следующая инструкция удаляет все строки из таблицы:

DELETE FROM EMPLOYEE_PROJECT;

Следующая инструкция удаляет строку для служащего #141:

DELETE FROM SALARY_HISTORY WHERE EMP_NO = 141;

Обратите внимание: EMP_NO это PRIMARY KEY для таблицы EMPLOYEE и по этому гарантирует уникальную идентификацию строки.


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