Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
198.14 Кб
Скачать

Delete - удалить

Общий синтаксис директивы DELETE выглядит так:

DELETE FROM Имя_Таблицы   [ WHERE Условия_Поиска ]

    DELETE FROM - это зарезервированные слова SQL-языка, которые и определяют саму директиву.

   Имя_Таблицы - имя той таблицы, из которой удаляются записи.

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

   Условия_Поиска - SQL-выражение, определяющее для директивы DELETE условия поиска в таблице записей, которые необходимо удалить.

Директива DELETE используется для удаления существующих записей в существующей таблице. Директива простая. Но относиться к ней надо осторожно, потому что записи из таблицы удаляются безвозвратно. Обратите внимание, что указывать ключевое слово WHERE и Условия_Поиска не обязательно. Если в директиве DELETE не задано условие WHERE, то из таблицы удаляются абсолютно все записи.

Пример

Если вы еще не создавали таблицу Istok, создайте ее и введите в нее несколько записей:

CREATE TABLE Istok ( id Integer , fName Char(16) , lName Char(24) , Tel_work Char(12) , Tel_home Char(12), grp Integer ) INSERT INTO Istok VALUES   (1, 'Андрей', 'Гущин', '934-34-44', '-', 0) INSERT INTO Istok VALUES   (2, 'Виктор', 'Пущин', '123-42-02', '323-00-23', 0) INSERT INTO Istok VALUES   (3, 'Петр', 'Агин', '435-34-02', '-', 3) INSERT INTO Istok VALUES   (4, 'Павел', 'Томин', '-', '422-56-56', 3) INSERT INTO Istok VALUES   (5, 'Борис', 'Кудряшов', '-', '455-45-67', 3) INSERT INTO Istok VALUES   (6, 'Борис', 'Павлов', '233-44-55', '-', 4)

 

id

fName

lName

Tel_work

Tel_home

grp

1

Андрей

Гущин

934-34-44

-

0

2

Виктор

Пущин

123-42-02

323-00-23

0

3

Петр

Агин

435-34-02

-

3

4

Павел

Томин

-

422-56-56

3

5

Борис

Кудряшов

-

455-45-67

3

6

Борис

Павлов

233-44-55

-

4

Удалим одну запись из таблицы...

DELETE FROM Istok WHERE id = 1

 

В таблице останутся записи:

id

fName

lName

Tel_work

Tel_home

grp

2

Виктор

Пущин

123-42-02

323-00-23

0

3

Петр

Агин

435-34-02

-

3

4

Павел

Томин

-

422-56-56

3

5

Борис

Кудряшов

-

455-45-67

3

6

Борис

Павлов

233-44-55

-

4

Удалим несколько записей...

DELETE FROM Istok  WHERE fName = 'Борис'

 

id

fName

lName

Tel_work

Tel_home

grp

2

Виктор

Пущин

123-42-02

323-00-23

0

3

Петр

Агин

435-34-02

-

3

4

Павел

Томин

-

422-56-56

3

И еще удалим...

DELETE FROM Istok  WHERE grp > 5

 

Этот запрос будет выполнен безупречно, но поскольку в таблице на данный момент нет записей, отвечающих условию grp > 5, то ни одна запись не будет удалена и таблица останется в неизменном виде:

id

fName

lName

Tel_work

Tel_home

grp

2

Виктор

Пущин

123-42-02

323-00-23

0

3

Петр

Агин

435-34-02

-

3

4

Павел

Томин

-

422-56-56

3

И, напоследок, используя DELETE без WHERE, удалим все оставшиеся записи и у нас останется пустая таблица:

DELETE FROM Istok

id

fName

lName

Tel_work

Tel_home

grp

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]