Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД_лекции.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.05 Mб
Скачать

Использование delete

Оператор SQL

DELETE

позволяет удалять строки из таблиц. Например:

delete from department;

В такой форме оператор DELETE удаляет все строки из таблицы department. Можно ограничиться удалением только определенных строк, если использо­вать выражение WHERE. Например:

delete from department where name='Отдел управления активами';

В этом случае будут удалены строки, соответствующие критерию, указанному в выражении where. Здесь будут удалены только строки, в которых для названия отдела указано значение 'Отдел управления активами'.

Остальные две формы оператора DELETE предназначены для удаления строк из одной или нескольких таблиц со ссылками на другие таблицы. Например:

delete employee, employeeSkills

from employee, employeeSkills, department

where employee.employeelD = employeeSkills.employeelD and employee.departmentID = department.departmentID and department,name='Финансовый отдел';

В этом примере удаляется информация о всех служащих, которые работа­ют в финансовом отделе, и стираются все записи о их квалификации. Обра­тите внимание на то, что здесь будут удалены строки из таблиц employee и employeeSkills (таблицы, которые присутствуют в исходном списке delete), но не из таблицы department (которая указана только в списке from).

Строки будут удаляться из таблиц, указанных в исходном списке выражения delete, тогда как таблицы из списка выражения from используются для поиска данных, и строки из них удаляться не будут, если соответствующей таблицы в списке delete нет.

Здесь в выражении WHERE мы использовали пару новых элементов: оператор AND и нотацию таблица . столбец. Оператор AND используется в данном случае для объединения условий. Это — обычное логическое "И". Используемая здесь запись employee . employeelD расшифровывается как "столбец employeelD таблицы employee".

Третья форма оператора DELETE похожа на вторую, за исключением того, что в данном случае удаления происходят из таблиц, указанных в списке FROM, а таблицы для ссылок приводятся в выражении USING. Например:

delete from employee, employeeSkills

using employee, employeeSkills, department

where employee.employeelD = employeeSkills.employeeID

and employee.departmentID = department.departmentID

and department.name='Финансовый отдел';

Этот пример эквивалентен предыдущему, за исключением того, что здесь ис­пользуется альтернативный синтаксис.

Использование truncate

Оператор

TRUNCATE

позволяет удалит все строки таблицы. Например:

TRUNCATE TABLE employee;

Этот запрос удалит записи всех служащих из таблицы employee. Он работает быстрее оператора DELETE, поскольку в этом случае старая таблица уничтожается и вместо нее создается пустая новая. Необходимо только помнить, что оператор TRUNCATE не обеспечивает безопасности транзакций.

Использование update

Оператор SQL UPDATE можно использовать для изменения строк, уже хра­нящихся в базе данных. Предположим, например, что у одного из служащих поменялась должность:

update employee

set job='Администратор БД1

where employeeID='6651' ;

Этот оператор изменяет значение столбца job для служащего с номером 6651.

Оператор UPDATE во многом аналогичен оператору DELETE.

Можно использовать необязательное выражение WHERE, чтобы обновить толь­ко некоторые или все строки.