Часть 11.4: Внешние ключи в базах данных SQLite: FOREIGN KEY в SQLite3
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В…
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В этой заметки мы с тобой рассмотрим последний оператор из группы DML. Напомню, что ранее я уже писал про: оператор SELECT, команду INSERT и оператор UPDATE. Сейчас нам предстоит уделить время команде DELETE и ее реализации в библиотеке SQLite3. Из этой записи ты узнаешь: общий синтаксис команды DELETE в SQLite3 и увидишь несколько примеров использования команды DELETE в SQLite. Многие из начинающих часто путают команду DELETE с командой DROP. Напомню, что DROP удаляет объекты базы данных, а вот DELETE удаляет строки из таблиц в базе данных.
Содержание статьи:
Рассмотрим последнюю команду из команд группы манипулирования данными в SQLite3. Команда DELETE в SQLite3 позволяет удалять строки. SQLite3 позволяет удалять строки как по одной, так и несколько строк, а можно удалить и все строки сразу из таблицы. Давайте посмотрим на синтаксис команды DELETE в SQLite3.
Синтаксис оператора DELETE в SQLite3 довольно прост: сначала указываем ключевое слово DELETE затем идет ключевое слово FROM, после которого указываем имя таблицы, из которой мы хотим удалить строку, а затем при помощи клаузулы WHERE мы указываем строки, которые хотим удалить при помощи команды DELETE.
Давайте рассмотрим несколько примеров использования команды 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.
Кирилл, хочу сказать вам огромное спасибо за уже сделанную работу! У вас получается шикарно объяснять и разжевывать и SQL и теорию баз данных и саму SQLite3. Желаю вам творческих успехов, а на блог на ваш я давно подписана!
Спасибо за отзыв!
Если не ошибаюсь при условии «WHERE a = 5 AND a = 6» не должно ничего удалиться, я не прав?
Да, конечно, моя невнимательность погубит меня! :)) Конечно же, оператор OR должен быть. Тогда обе строки будут удалены, спасибо, что указали на ошибку!