Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В этой заметки мы с тобой рассмотрим последний оператор из группы DML. Напомню, что ранее я уже писал про: оператор SELECT, команду INSERT и оператор UPDATE. Сейчас нам предстоит уделить время команде DELETE и ее реализации в библиотеке SQLite3. Из этой записи ты узнаешь: общий синтаксис команды DELETE в SQLite3 и увидишь несколько примеров использования команды DELETE в SQLite. Многие из начинающих часто путают команду DELETE с командой DROP. Напомню, что DROP удаляет объекты базы данных, а вот DELETE удаляет строки из таблиц в базе данных.

Часть 7.4: Команда DELETE в SQLite3. Оператор DELETE в SQLite

Часть 7.4: Команда DELETE в SQLite3. Оператор DELETE в SQLite

Синтаксис команды DELETE в SQLite3. Синтаксис оператора DELETE в SQLIte3

Рассмотрим последнюю команду из команд группы манипулирования данными в SQLite3. Команда DELETE в SQLite3 позволяет удалять строки. SQLite3 позволяет удалять строки как по одной, так и несколько строк, а можно удалить и все строки сразу из таблицы. Давайте посмотрим на синтаксис команды DELETE в SQLite3.

Синтаксис команды DELETE в SQLite3. Синтаксис оператора DELETE в SQLite

Синтаксис команды DELETE в SQLite3. Синтаксис оператора DELETE в SQLite

Синтаксис оператора DELETE в SQLite3 довольно прост: сначала указываем ключевое слово DELETE затем идет ключевое слово FROM, после которого указываем имя таблицы, из которой мы хотим удалить строку, а затем при помощи клаузулы WHERE мы указываем строки, которые хотим удалить при помощи команды DELETE.

Примеры использования команды DELETE в SQLite3. Примеры использования оператора DELETE в SQLite

Давайте рассмотрим несколько примеров использования команды DELETE в SQLite3. Будем использовать таблицу из прошлой части, в которой мы рассматривали команду UPDATE. Для начала мы удалим третью строку при помощи команды DELETE.

[php]

— Удалим третью строку при помощи команды DELETE

DELETE FROM table1 WHERE a = 3;

— Убедимся, что SQLite3 удалил третью строку

SELECT * FROM table1;

[/php]

SQLite3 выдаст нам вот такую таблицу после использования команды DELETE:

a        b                        c                      d

1       Петров              Русский         55

2       Нурутдинов    Татарин      28

4       Горлукович     Белорус          18

5       Сейтаридис      Грек      48

6     Сейтаридис        Грек        18

Бывают ситуации, когда нам необходимо удалить несколько строк из таблицы или мы не можем однозначно идентифицировать строку по одному столбцу. Поэтому чтобы удалить несколько строк из таблицы при помощи команды DELETE можно использовать сложные выражения после WHERE с применением различных SQL операторов. Давайте рассмотрим пример того, как удалить несколько строк из таблицы в SQLite3 при помощи DELETE.

[php]

— Удаляем несколько строк из таблицы при помощи команды DELETE

DELETE FROM table1 WHERE a = 5 OR a = 6;

— Проверим результат работы команды DELETE

SELECT * FROM table1;

[/php]

Результат работы команды DELETE будет выглядеть так:

[php]

a        b                        c                      d

1       Петров              Русский         55

2       Нурутдинов    Татарин      28

4       Горлукович     Белорус          18

[/php]

Если нам необходимо удалить все строки из таблицы, то просто не стоит использовать клаузулу WHERE. Чтобы удалить все строки из таблицы при помощи команды DELETE в SQLite3 не используйте клаузулу WHERE:

[php]

— Удаляем все строки из таблицы при помощи команды DELETE в SQLite3

DELETE FROM table1;

[/php]

Теперь после применения команды DELETE без клаузулы в таблице не будет ни одной строки. Мы рассмотрели работу оператор DELETE в SQLite3.

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 4 comments

  1. Олеся Reply

    Кирилл, хочу сказать вам огромное спасибо за уже сделанную работу! У вас получается шикарно объяснять и разжевывать и SQL и теорию баз данных и саму SQLite3. Желаю вам творческих успехов, а на блог на ваш я давно подписана!

    • Кирилл Reply

      Спасибо за отзыв!

  2. gst80 Reply

    Если не ошибаюсь при условии «WHERE a = 5 AND a = 6» не должно ничего удалиться, я не прав?

    • Кирилл Reply

      Да, конечно, моя невнимательность погубит меня! :)) Конечно же, оператор OR должен быть. Тогда обе строки будут удалены, спасибо, что указали на ошибку!

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...