Главная SQL Delete
E-mail Печать PDF

DELETE используется для удаление записей в таблице.

Синтаксис SQL DELETE

1
2
DELETE FROM table_name
WHERE some_column=some_value

Note Замечание: При составлении запроса на удаление, используйте условие WHERE иначе все записи могут быть удаленны.

Пример SQL DELETE

Есть таблица "Persons":

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes

Итак, мы хотим удалить записи "Tjessem, Jakob" в таблице "Persons".

Для этого используем такой запрос:

1
2
DELETE FROM Persons
WHERE LastName='Tjessem' AND FirstName='Jakob'

Результат запроса:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger

Удаление всех записей

Можно удалить все записи в таблице не удаляя саму таблицу. Это означает что структура таблицы: атрибуты, индексы будут неповрежденными:

1
2
3
DELETE FROM table_name
or
DELETE * FROM table_name

Note Замечание: Будьте очень осторожны при выполнении таких запросов. Поскольку записи могут быть потерянны навсегда.

Комментарии

 
-1 #1 Шелест Константин 2010-10-28 21:52 Итак, мы хотим удалить записи "Tjessem, Jakob" в таблице "Persons". - Кто писал это? Удалить строку (кортеж из атрибутов… наконец) где находятся записи "Tjessem, Jakob" в таблице "Persons". !!! Цитировать
 
 
+3 #2 Monarh 2011-02-25 12:48 Согласен с Шелест Константином !
Цитата:
Итак, мы хотим удалить записи "Tjessem, Jakob" в таблице "Persons".

Звучит некорректно !
Помоему лучше так:
Итак, мы хотим удалить из таблицы "Persons" все строки, где(у которых) LastName='Tjessem' и FirstName='Jakob'.
или в такой нотации
Итак, мы хотим
УДАЛИТЬ ИЗ таблицы Persons
все строки ГДЕ LastName='Tjessem' и FirstName='Jakob'.

_______________
С уважением,
Monarh.
Цитировать
 
 
+4 #3 JohnnySuperb 2011-05-14 15:50 Ну это стандартный вариант удаления записей, а можно выложить скрипт удаления, когда нужно затронуть несколько таблиц.
Например, есть две таблицы - одна с данными о людях, а другая - города. И нужно удалить все записи из списка людей, у которых город начинается на букву "F".
Вот я постоянно забываю правила построения такого запроса.
Цитировать
 
 
+6 #4 JohnnySuperb 2011-05-23 14:32 Что-то я не понял - "кто тут минусов наставил?"!!! Люди сказали правду. Если этот блог предназначен для программистов, то в статье информация должна быть представлена верно. И они предложили реальные варианты лишь для того, чтобы начинающие программисты правильно поняли смысл написанного. Цитировать
 
 
0 #5 Сергей 2012-03-27 15:54 Ладно вам колючки то кидать…
Конечно было бы неплохо посмотреть более сложные примеры.
Цитировать
 
 
+1 #6 Сергей 2012-03-27 18:43 А можно удалить одним запросом записи сразу из нескольких таблиц, если у них есть колонка с одинаковым именем, которая и есть критерий для удаления? Таким образом я удаляю помеченные на удаление записи. Но запросы сейчас делаю в каждую таблицу отдельно. Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама