Оператор DELETE в SQL

В этой статье вы узнаете, как удалить записи из таблицы базы данных с помощью SQL.

В одной из предыдущих статей мы научились вставлять записи в таблицу БД с помощью оператора INSERT. Записи так же можно удалять из таблицы — с помощью оператора DELETE

Синтаксис

Оператор DELETE используется для удаления одной или нескольких строк из таблицы.

DELETE FROM имя_таблицы WHERE условие;

Предупреждение. WHERE в операторе DELETE определяет, какая запись или записи должны быть удалены. Это необязательный параметр, но если вы опустите или забудете WHERE, удалены будут все записи навсегда.

Пример: удаление записей по условию

Давайте удалим несколько записей из таблицы persons, которую создали в статье про создание таблицы.

Предположим, что таблица persons изначально выглядит так:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
|  4 | George Bailey      | 1993-03-05 | 0897-034214 |
|  5 | Norman Bates       | 1999-08-25 | 0522-556721 |
+----+--------------------+------------+-------------+

Допустим, нам нужно удалить строку из таблицы persons, в которых значение id больше 3.

DELETE FROM persons WHERE id > 3;

После выполнения запроса таблица persons будет выглядеть следующим образом:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

Пример: удаление всех записей

Если вы не укажете WHERE в операторе DELETE, из таблицы удалятся все строки. Однако сама целевая таблица не удалится, то есть структура таблицы, атрибуты и индексы останутся нетронутыми.

Следующий запрос удалит все записи из таблицы persons:

DELETE FROM persons;

Теперь, если вы попытаетесь выбрать записи из таблицы persons, вы получите пустой набор результатов.

codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©