Обновление уже имеющихся данных
Ввод значений NULL
Ввести значение NULL в таблицу просто. Это бывает нужно, в частности, когда значение соответствующего столбца не известно. Например, не каждый человек имеет пейджер, и было бы некорректно вводить для этих людей неверные номера пейджера – не говоря уж о напрасном расходовании дискового пространства. Значение NULL можно ввести в столбец с помощью ключевого слова NULL.
Синтаксис оператора для ввода значения NULL следующий.
insert into имя_схемы.имя_таблицы values ('значение1', NULL, 'значениеЗ');
В результате в соответствующий столбец таблицы будет введено значение NULL. Столбец, в который вводится NULL, не будет содержать данных. В рамках вышеприведенного синтаксиса значение NULL будет введено на место второго столбца.
Рассмотрим следующие два примера.
INSERT INTO ORDERS_TBL (ORD_NUM, CUST_ID, PROD_ID, QTY, ORD_DATE)
VALUES ('23A16', '109', '7725', 2, NULL);
Здесь в списке столбцов перечислены все столбцы таблицы ORDERS_TBL. В столбец ORD_DATE вводится значение NULL, означающее, что дата заказа в данный момент либо не известна, либо не доступна.
|
|
|
INSERT INTO ORDERS_TBL VALUES ('23A16', ‘109', '7725', 2, ’’);
Использованный в этом примере оператор отличается от оператора из первого примера, но результаты их выполнения одинаковы. Обратите внимание на то, что здесь, во-первых, отсутствует список столбцов – он не обязателен, если данные вводятся во все столбцы таблицы. Во-вторых, вместо ввода в последний столбец значения NULL, вводятся ' ' (два идущие подряд знака одиночных кавычек), что тоже символизирует значение NULL (ввиду отсутствия чего бы то ни было между ними).
Уже существующие в таблице данные можно изменить с помощью команды UPDATE. Команда UPDATE не добавляет новых записей в таблицу и не удаляет их, а только дает возможность изменить данные. С помощью одной такой команды можно изменить данные только одной таблицы, но одновременно можно менять данные нескольких столбцов. Одним таким оператором можно изменить и одну строку данных и целый набор строк.
В своей простейшей форме оператор UPDATE изменяет один столбец таблицы. При изменении одного столбца можно изменить и только одну запись, и сразу несколько. Синтаксис оператора для изменения данных в одном столбце следующий:
update имя_таблицы set имя_столбца = 'значение' [where условие];
В следующем примере значение столбца QTY таблицы ORDERS_TBL устанавливается равным 1 для записи с ORD_NUM, равным '23А16' (последнее специфицируется с помощью ключевого слова WHERE).
UPDATE ORDERS_TBL SET QTY = 1 WHERE ORD_NUM = '23A16';
Следующий пример отличается от предыдущего только отсутствием параметра, заданного ключевым словом WHERE.
UPDATE ORDERS_TBL SET QTY = 1;
Как видите, здесь было обновлено 11 строк. В данном случае значение столбца QTY было установлено равным 1 для всех строк таблицы ORDERS_TBL. Вы действительно хотели получить такой результат? В отдельных случаях это может быть и так, но на самом деле оператор UPDATE без ключевого слова WHERE используется исключительно редко.
|
|
|
При использовании оператора UPDATE без ключевого слова WHERE нужно быть исключительно внимательным. При отсутствии заданных ключевым словом WHERE условий данные в соответствующем столбце будут обновлены для всех строк данных.






