Тесты
Примеры
UPDATE
UPDATE изменяет одну или более существующих строк в таблице или виде. UPDATE – одна из привилегий базы данных контролируемых GRANT и REVOKE.
Факультативное предложение WHERE может быть использовано, чтобы ограничить UPDATE к некоторому подмножеству строк таблицы. Модификации не могут модифицировать секторы массива.
Предупреждение: Если предложение WHERE упущено, UPDATE изменяет все строки в таблице.
Обратите внимание: Когда модифицируются BLOB столбцы, UPDATE заменяет весь BLOB целиком новым значением.
Синтаксис
UPDATE {table | view} SET col = <val> [, col = <val>...] [WHERE <search_condition>;
<val> = {col [<array_dim>] | <constant> | <expr> | <function> | NULL | USER }
<array_dim> = [ x:y [, x:y...] ]
Обратите внимание: Внешние скобки (выделено жирным) должны присутствовать в ссылке на массив.
<constant> = num | "string" | charsetname "string"
<expr> = Допустимое выражение SQL, которое возвращает одиночное значение.
<function> = {CAST (<val> AS <datatype>) | UPPER (<val>) | GEN_ID (generator, <val>) }
<search_condition> = Смотри CREATE TABLE, для полного описания.
|
|
Аргумент | Описание |
table | view | Имя существующей таблицы или вида для модификации. |
SET col = <val> | Определяет столбцы для изменения и значения, которые требуется присвоить этим столбцам. |
WHERE <search_cond> | Модифицировать только найденное. Определяет условия, которым строка должна удовлетворять, чтобы изменится. |
Следующая инструкция изменяет столбцы для всех строк таблицы:
UPDATE CITIES SET POPULATION = POPULATION * 1.03;
Следующая инструкция использует предложение WHERE, чтобы ограничить модификацию столбцов подмножеством строк:
UPDATE COUNTRY SET CURRENCY = "USDollar" WHERE COUNTRY = "USA";
Используйте таблицу EMPLOYEE_TBL.
Что случится, если выполнить следующие операторы?
- insert into employee_tbl '('JACKSON', 'STEVE', '313546078', '3178523443');
- insert into employee_tbl values ('JACKSON’, 'STEVE', '313546078', '3178523443');
- insert into employee_tbl values ('MILLER', 'DANIEL', '230980012', NULL);
- insert into employee_tbl values ('TAYLOR', NULL, '445761212', '3179221331');
- delete from employee_tbl;
- delete from employee_tbl where last_name = 'SMITH';
- delete from employee_tbl where last_name = 'SMITH' and first_name = 'JOHN';
- update employee_tbl set last_name = 'CONRAD';
- update employee_tbl set last_name = 'CONRAD' where last_name = 'SMITH';
- update employee_tbl set last_name = 'CONRAD', first_name = 'LARRY';
- update employee_tbl set last_name = 'CONRAD' first_name = 'LARRY' where ssn = '313546078';
Упражнения
- Используя операторы DML, выполните следующее.
- Измените SSN для служащего по имени Billy Pierce на 310239857.
- Добавьте информацию о служащем по имени Ben Moore, тел. 317-5649880, SSN равен 313456789.
- Служащий по имени John Smith уволился, удалите соответствующую запись.
INSERT – вставка строк в таблицу
Пример 1. Вставка одной строки в таблицу:
INSERT INTO P (PNUM, PNAME) VALUES (4, "Иванов");
Пример 2. Вставка в таблицу нескольких строк, выбранных из другой таблицы (в таблицу TMP_TABLE вставляются данные о поставщиках из таблицы P, имеющие номера, большие 2):
|
|
INSERT INTO TMP_TABLE (PNUM, PNAME) SELECT PNUM, PNAME FROM P WHERE P.PNUM>2;
UPDATE – обновление строк в таблице
Пример 3. Обновление нескольких строк в таблице:
UPDATE P SET PNAME = "Пушников" WHERE P.PNUM = 1;
DELETE – удаление строк в таблице
Пример 4. Удаление нескольких строк в таблице:
DELETE FROM P WHERE P.PNUM = 1;
Пример 5. Удаление всех строк в таблице:
DELETE FROM P;