Как удалить таблицу в sqlite
Перейти к содержимому

Как удалить таблицу в sqlite

  • автор:

Определение структуры данных в SQLite

Создание и удаление таблицы. Прикрепление базы данных

Последнее обновление: 26.11.2021

Для создания таблиц используется команда CREATE TABLE . Общий формальный синтаксис команды CREATE TABLE :

CREATE TABLE название_таблицы (название_столбца1 тип_данных атрибуты_столбца1, название_столбца2 тип_данных атрибуты_столбца2, . название_столбцаN тип_данных атрибуты_столбцаN, атрибуты_уровня_таблицы )

После команды CREATE TABLE указывается название таблицы. Имя таблицы выполняет роль ее идентификатора в базе данных, поэтому оно должно быть уникальным. Кроме того, оно не должно начинаться на «sqlite_», поскольку названия таблиц, которые начинаются на «sqlite_», зарезервированы для внутреннего пользования.

Затем после названия таблицы в скобках перечисляются названия столбцов, их типы данных и атрибуты. В самом конце можно определить атрибуты для всей таблицы. Атрибуты столбцов, а также атрибуты таблицы указывать необязательно.

Создадим простейшую таблицу. Перед выполнением команды CREATE TABLE вне зависимости, что мы используем — консольный клиент sqlite3, графический клиент DB Browser for SQLite или какой-то другой клиент, вначале откроем базу данных, где мы хотим создать таблицу.

Для создания таблицы выполним следующий скрипт:

CREATE TABLE Users ( Id INTEGER, Name TEXT, Age INTEGER );

В данном случае таблица называется «Users». В ней определено три столбца: Id, Age, Name. Первые два столбца представляют идентификатор пользователя и его возраст и имеют тип INTEGER , то есть будут хранить числовые значения. Столбец «Name» представляет имя пользователя и имеет тип TEXT , то есть представляет строку. В данном случае для каждого столбца определены имя и тип данных, при этом атрибуты столбцов и таблицы в целом отсутствуют.

И в результате выполнения этой команды будет создана таблица Users с тремя столбцами.

Create TABLE в SQLite

Создание таблицы при ее отсутствии

Если мы повторно выполним выше определенную sql-команду для создания таблицы Users, то мы столкнемся с ошибкой — ведь мы уже создали таблицу с таким названием. Но могут быть ситуации, когда мы можем точно не знать или быть не уверены, есть ли в базе данных такая таблица (например, когда мы пишем приложение на каком-нибудь языке программирования и используем базу данных, которая не нами создана). И чтобы избежать ошибки, с помощью выражения IF NOT EXISTS мы можем задать создание таблицы, если она не существует:

CREATE TABLE IF NOT EXISTS Users ( Id INTEGER, Name TEXT, Age INTEGER );

Если таблицы Users нет, она будет создана. Если она есть, то никаких действий не будет производиться, и ошибки не возникнет.

Прикрепление базы данных

Также мы можем прикрепить базу данных и затем в ней уже создать базу данных.

Для прикрепления базы данных применяется команда ATTACH DATABASE :

ATTACH DATABASE 'C:\sqlite\test.db' AS test;

После команды ATTACH DATABASE указывается путь к файлу базы данных (в данном случае это путь «C:\sqlite\test.db»). Затем после оператора AS идет псевдоним, на который будет проецироваться база данных. То есть в коде для обращения к базе данных «C:\sqlite\test.db» будет применяться имя «test». При обращении к таблице из этой базы данных, сначала указывается псевдоним базы данных и через точку название таблицы:

псевдоним_бд.таблица

Например, создадим таблицу в прикрепленной базе данных:

ATTACH DATABASE 'C:\sqlite\test.db' AS test; CREATE TABLE test.users ( id INTEGER, name TEXT, age INTEGER );

Для создания таблицы users в бд test.db название таблицы предваряется псевдонимом: test.users .

ATTACH DATABASE и прикрепление базы данных в SQLite

И после открытия базы данных test.db в ней можно будеть увидеть таблицу users.

Удаление таблиц

Для удаления таблицы применяется команда DROP TABLE , после которой указывается название удаляемой таблицы. Например, удалим таблицу users:

DROP TABLE users;

По аналогии с созданием таблицы, если мы попытаемся удалить таблицу, которая не существует, то мы столкнемся с ошибкой. В этом случае опять же с помощью операторов IF EXISTS проверять наличие таблицы перед удалением:

DROP TABLE IF EXISTS users;

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 .

DROP TABLE оператор SQLite

SQLite оператор DROP TABLE позволяет вам удалить таблицу из базы данных SQLite.

Синтаксис

Синтаксис оператора DROP TABLE в SQLite:

DROP TABLE [ IF EXISTS ] table_name;

Параметры или аргументы

table_name
Имя таблицы для удаления из базы данных.

IF EXISTS
Необязательный. Если указано, оператор DROP TABLE не будет выдавать ошибку, если одна из таблиц не существует.

Примечание

  • Если вы используете SQLite оператор DROP TABLE, чтобы удалить несуществующую таблицу, база данных выдаст ошибку (если вы не укажете параметр IF EXISTS в операторе DROP TABLE).

Удалить одну таблицу

Рассмотрим простой пример DROP TABLE, который показывает, как использовать оператор DROP TABLE для удаления одной таблицы в SQLite.

Добавить комментарий

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