TRUNCATE TABLE оператор SQLite
Оператор TRUNCATE TABLE используется для удаления всех записей из таблицы.
SQLite не имеет явной команды TRUNCATE TABLE, как другие базы данных. Вместо этого он добавил оптимизатор TRUNCATE в оператор DELETE. Чтобы усечь таблицу в SQLite, вам просто нужно выполнить оператор DELETE без оператора WHERE. Оптимизатор TRUNCATE обрабатывает все остальное. Давайте проясним.
Обычно, когда вы выполняете оператор DELETE, база данных должна обработать каждую строку в таблице, чтобы выполнить удаление. В SQLite, когда вы выполняете оператор DELETE без оператора WHERE, оптимизатор TRUNCATE запускается вместо обычного поведения удаления. Оптимизатор TRUNCATE удаляет все данные из таблицы без необходимости обработки каждой строки в таблице. Это намного быстрее, чем обычная операция удаления.
Синтаксис
Синтаксис truncate a table (с использованием TRUNCATE ) в SQLite:
DELETE FROM table_name;
Параметры или аргументы
table_name
Таблица, которую вы хотите очистить.
Примечание
- SQLite может использовать TRUNCATE, только если в таблице (для усечения) нет триггеров.
Пример
Вы можете выбрать усечение таблицы вместо ее удаления и повторного создания. Усечение таблицы — более быстрый метод удаления всех данных из таблицы.
Давайте рассмотрим пример того, как усечь таблицу в SQLite.
Как удалить таблицу в sqlite
На этом шаге мы рассмотрим выполнение указанных операций .
Удалить таблицу позволяет инструкция DROP TABLE . Удалить можно как обычную, так и временную таблицу. Все индексы, связанные с таблицей, также удаляются. Формат инструкции:
DROP TABLE [IF EXISTS] [Название базы данных>.]Название таблицы>;
Поскольку SQLite напрямую работает с файлом, не существует инструкции для удаления базы данных. Чтобы удалить базу, достаточно просто удалить файл.
В предыдущих шагах мы рассмотрели лишь основные возможности SQLite . Остались не рассмотренными триггеры, представления, виртуальные таблицы, внешние ключи, операторы, встроенные функции и некоторые другие возможности. За подробной информацией обращайтесь к документации по SQLite .
Примечание . Для интерактивной работы с базами данных SQLite удобно пользоваться бесплатной программой Sqliteman . Ее можно загрузить по интернет-адресу http://sourceforge.net/projects/sqliteman/ или взять здесь.
Со следующего шага мы начнем рассматривать доступ к базе данных SQLite из Python .
Как удалить таблицу в sqlite
Команда DELETE удаляет данные из БД. Она имеет следующий формальный синтаксис:
DELETE FROM имя_таблицы [WHERE условие_удаления]
Например, возьмем следующую таблицу products, которая хранит некоторый набор товаров:
CREATE TABLE products ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, company TEXT NOT NULL, product_count INTEGER DEFAULT 0, price INTEGER ); INSERT INTO products (name, company, product_count, price) VALUES ('iPhone 13', 'Apple', 3, 76000), ('iPhone 12', 'Apple', 2, 51000), ('Galaxy S21', 'Samsung', 2, 56000), ('Galaxy S20', 'Samsung', 1, 41000), ('P40 Pro', 'Huawei', 5, 36000);
Удалим из этой таблицы товары, у которых производитель — Huawei:
DELETE FROM products WHERE company='Huawei';
Или удалим все товары, производителем которых является Apple и которые имеют цену меньше 60000:
DELETE FROM products WHERE company='Apple' AND price < 60000;
Если необходимо вовсе удалить все строки вне зависимости от условия, то условие можно не указывать:
DELETE FROM products;
SQLite - Удаление таблицы
Оператор SQLite DROP TABLE используется для удаления определения таблицы и всех связанных данных, индексов, триггеров, ограничений и спецификаций разрешений для этой таблицы.
Вы должны быть осторожны при использовании этой команды, потому что, как только таблица будет удалена, вся информация, доступная в таблице, также будет потеряна навсегда.
Ниже приведен основной синтаксис оператора DROP TABLE . Вы можете указать имя базы данных вместе с именем таблицы следующим образом:
DROP TABLE database_name.table_name;
Сначала проверим таблицу COMPANY , а затем удалим ее из базы данных.
sqlite>.tables COMPANY test.COMPANY
Это означает, что таблица COMPANY доступна в базе данных, поэтому давайте отбросим ее следующим образом:
sqlite>DROP TABLE COMPANY; sqlite>
Теперь, если вы попробуете команду TABLES , вы больше не найдете таблицу COMPANY .
sqlite>.tables sqlite>
Он ничего не показывает, что означает, что таблица из вашей базы данных успешно удалена.
