Перейти к содержимому

Как удалить таблицу sqlite3 python

  • автор:

SQLite удалить таблицу

Базовый синтаксис DROP TABLE заявление выглядит следующим образом. Вы можете указать имя базы данных с именем таблицы, следующим образом:

DROP TABLE database_name.table_name;

примеров

Убедимся таблицу COMPANY уже существует, то мы будем удалить его из базы данных.

SQLite> .tables КОМПАНИЯ test.COMPANY

Это означает, что таблица компании уже существует в базе данных, давайте удалим его из базы данных, следующим образом:

SQLite> DROP TABLE КОМПАНИЯ; SQLite>

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

SQLite> .tables SQLite>

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

Как удалить таблицу sqlite3 python

На этом шаге мы рассмотрим выполнение указанных операций .

Удалить таблицу позволяет инструкция DROP TABLE . Удалить можно как обычную, так и временную таблицу. Все индексы, связанные с таблицей, также удаляются. Формат инструкции:

DROP TABLE [IF EXISTS] [Название базы данных>.]Название таблицы>;

Поскольку SQLite напрямую работает с файлом, не существует инструкции для удаления базы данных. Чтобы удалить базу, достаточно просто удалить файл.

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

Примечание . Для интерактивной работы с базами данных SQLite удобно пользоваться бесплатной программой Sqliteman . Ее можно загрузить по интернет-адресу http://sourceforge.net/projects/sqliteman/ или взять здесь.

Со следующего шага мы начнем рассматривать доступ к базе данных SQLite из Python .

Определение структуры данных в 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;

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>

Он ничего не показывает, что означает, что таблица из вашей базы данных успешно удалена.

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

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