Синтаксис команды:
DELETE FROM{<имя таблицы>
WHERE <условие>};
Команда DELETE удаляет записи в таблице. В случае успешного выполнения команды выдается сообщение: N row(s) affected (N записей задействовано), где N - количество удаленных записей. Еще раз следует напомнить, что, как и в случае с командой UPDATE, не следует забывать про предложение WHERE, в противном случае вы удалите все содержимое таблицы.
Пример 17
Задача.
Удалить запись, в которой значение атрибута имя студента (SName) Митькин.
Решение.
DELETE FROM Student
WHERE SName='Митькин М.М.';
Пример 18
ВНИМАНИЕ! Если вы готовы удалить все содержимое вашей таблицы, то можете опробовать следующую команду.
Задача.
Удалить все записи из таблицы Student.
Решение.
DELETE FROM Student;
Следует указать, что существует еще одна команда, позволяющая удалить записи из таблицы, это команда TRUNCATE. Отличие команды DELETE от команды TRUNCATE состоит в том, что после ее выполнения действие этой команды можно отменить посредством команды ROLLBACK[4].
Команда удаления - TRUNCATE
Синтаксис команды:
TRUNCATE{<имя таблицы> };
Команда позволяет удалять только все строки таблицы. В отличие от команды DELETE не записывает в журнал транзакций информацию о каждой удаленной строке, поэтому откат команды невозможен. TRUNCATE нельзя использовать в ссылочных таблицах. После применения TRUNCATE в столбцах со свойством IDENTITY счетчик сбрасывается в исходное состояние.
Задание 6
Удалить данные из таблицы SWork командой DELETE и восстановить их вновь.
Удалить данные из таблицы SWork командой TRUNCATE и восстановить их вновь.
Задание 7
Удалить данные из ранее созданных таблиц и заполнить таблицы в соответствии с приложением (см. Приложение 2. Пример заполнения таблиц).
Задание 8
Внести данные в таблицу USPEV запланировав по всем дисциплинам, имеющим место в отношении PROGRESS, лекционные, практические и лабораторные работы из расчета 2 часа в неделю, полагая, что продолжительность первого семестра составляет 18 недель, а всех остальных - 17 недель. Полагая также, что студенты специальности АИС изучают дисциплину Базы данных, а ИСТ – Управление данными и СУБД. Высшую математику изучают все.
Вопросы для самоконтроля к лабораторной работе № 2
1. Как называется язык, к которому относятся команды INSERT, UPDATE, DELETE?
2. Какие ошибки могут иметь место в случаи использования краткого синтаксиса команды INSERT?
3. Чему будет равна мощность таблицы после выполнения команды DELETE без использования предложения WHERE?
4. Какие предложения являются обязательными в команде INSERT?
5. Какие предложения являются обязательными в команде DELETE?
6. Какие предложения являются обязательными в команде UPDATE?
7. Как удалить из таблицы повторяющиеся строки?
8. При каком синтаксисе команды UPDATE корректируются значения во всех записях отношения?
9. В чем отличие команд DELETE и TRUNCATE?