кодесурса
«SQLite

SQLite ATTACH, база данных DETACH

script1adsense2code
script1adsense3code

БАЗА ДАННЫХ

Инструкция ATTACH DATABASE позволяет вам присоединить несколько файлов базы данных к текущему соединению с базой данных. Когда база данных присоединена, все ее содержимое доступно в глобальной области текущего файла базы данных.

Имя, которое появляется после ключевого слова AS, является именем базы данных, используемой внутри SQLite. Имена базы данных main и temp зарезервированы для первичной базы данных и базы данных для хранения временных таблиц и других временных объектов данных. Оба этих имени базы данных существуют для каждого подключения к базе данных и не должны использоваться для вложения, в противном случае вы получите предупреждение. Основные и временные базы данных не могут быть присоединены или отключены.

Таблицы в присоединенной базе данных могут использоваться как database-name.table-name. Когда имя таблицы является уникальным для всех подключенных баз данных, а также для основной и временной баз данных, префикс имени базы данных не требуется, но когда две или более таблиц в разных базах данных имеют одно и то же имя, необходимо указать желаемое таблица с использованием префикса имени базы данных.

Дополнительные базы данных могут быть присоединены к вашему текущему сеансу с помощью оператора ATTACH DATABASE. Это добавляет соединение с другой базой данных без замены выбранной вами базы данных.

Вот синтаксис:

 ATTACH [DATABASE] имя файла AS имя_базы_данных;

Имя файла для присоединяемой базы данных - это значение выражения перед ключевым словом AS. Имя файла относится к пути и имени файла базы данных SQLite, а имя_базы_данных относится к логическому имени, с которым можно ссылаться на эту базу данных и ее объекты.

Пример:

Пример вывода:

 D: / sqlite> sqlite3 medical.db
sqlite> .database
имя файла
--- --------------- ------------------------
0 основной D: /sqlite/medical.db

Здесь в приведенном выше примере показано, что основная база данных появляется, а другая база данных temp скрыта.

Давайте прикрепим две базы данных hr и medical.db с тремя псевдонимами: hrdb, medical и medical1

ATTACHhr AS hrdb;
ATTACH DATABASE 'medical.db' as 'medical';
ATTACH DATABASE 'medical.db' as 'medical1';

Теперь посмотрите статус текущего соединения.

Пример вывода:

 sqlite> .database
имя файла
--- --------------- ------------------------
0 основной D: /sqlite/medical.db
2 часа D: / sqlite / час
3 медицинский D: /sqlite/medical.db
4 medical1 D: /sqlite/medical.db

В приведенном выше примере мы прикрепили три базы данных, одна из которых hr, а две другие - medical.db с разными псевдонимами. Псевдоним для базы данных hr - hrdb, а для medical.db - medical и medical1.Если база данных, которую вы указали, уже не существует, то будет создана база данных с именем.

Теперь мы собираемся прикрепить базу данных main и temp и посмотреть результат ниже.

Пример вывода:

 sqlite> прикрепить main как main;
Ошибка: база данных уже используется
sqlite> прикрепить temp как temp;
Ошибка: база данных temp уже используется

БАЗА ДАННЫХ

Оператор SQLite DETACH DATABASE позволяет отсоединить и отделить именованную базу данных от соединения с базой данных, которое было присоединено с помощью оператора ATTACH. Если два или более файлов базы данных с одинаковыми именами были присоединены с несколькими псевдонимами, команда DETACH отключит только указанное имя, а остальная часть вложения останется прежней. База данных главная или временная не может быть отсоединена.

Чтобы отсоединить подключенную базу данных, синтаксис просто

Пример вывода:

 БАЗА ДАННЫХ «Псевдоним-Имя»;

Пример:

Следующие базы данных уже прикреплены.

Пример вывода:

 имя файла
--- --------------- ------------------------------
0 основной D: /sqlite/medical.db
2 часа D: / sqlite / час
3 медицинский D: /sqlite/medical.db
4 medical1 D: /sqlite/medical.db

Теперь, если мы хотим отсоединить базу данных hr, можно использовать следующую команду.

Пример вывода:

 sqlite> detach DATABASE hrdb;
sqlite> .database
имя файла
--- --------------- ------------------------
0 основной D: /sqlite/medical.db
2 медицинский D: /sqlite/medical.db
3 medical1 D: /sqlite/medical.db

Теперь давайте попробуем отсоединить medical1 от medical.db следующим образом

sqlite> DETACH DATABASE 'medical1';

Теперь, если вы хотите проверить текущее вложение, вы обнаружите, что medical.db по-прежнему связан с «medical» и «main».

Пример вывода:

 sqlite> .database
имя файла
--- --------------- -------------------------------- ---
0 основной D: /sqlite/medical.db
3 медицинский D: /sqlite/medical.db

Предыдущая: Команды DOT (.)
Далее: Типы данных

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code