Найти в Дзене
PRO_IT

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

Для формирования таблиц используется команда CREATE TABLE. Общая структура команды CREATE TABLE следующая: CREATE TABLE название_таблицы (название_столбца1 тип_данных атрибуты_столбца1, название_столбца2 тип_данных атрибуты_столбца2, ................................................ название_столбцаN тип_данных атрибуты_столбцаN, атрибуты_уровня_таблицы ) После ввода команды CREATE TABLE указывается уникальное название таблицы, которое выполняет роль идентификатора в базе данных. Важно, чтобы имя не начиналось с "sqlite_", так как такие названия зарезервированы для внутреннего использования. Затем в скобках после названия таблицы перечисляются имена столбцов, их типы данных и атрибуты. В конце можно определить атрибуты для всей таблицы. Необязательно указывать атрибуты для столбцов и таблицы в целом. Давайте рассмотрим пример создания простой таблицы. Перед выполнением команды CREATE TABLE, независимо от того, используется консольный клиент sqlite3, графический клиент DB Browser for SQL
Оглавление

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

CREATE TABLE название_таблицы

(название_столбца1 тип_данных атрибуты_столбца1,

название_столбца2 тип_данных атрибуты_столбца2,

................................................

название_столбцаN тип_данных атрибуты_столбцаN,

атрибуты_уровня_таблицы

)

После ввода команды CREATE TABLE указывается уникальное название таблицы, которое выполняет роль идентификатора в базе данных. Важно, чтобы имя не начиналось с "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 с тремя столбцами.

Создание таблицы Users
Создание таблицы Users

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

При повторном выполнении предварительно определенной 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".

Создания таблицы users в прикрепленной базе данных
Создания таблицы users в прикрепленной базе данных

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

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

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

DROP TABLE users;

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

DROP TABLE IF EXISTS users;