ATTACH DATABASE команда SQLite

В этом учебном пособии вы узнаете, как использовать SQLite команду ATTACH DATABASE с синтаксисом и примерами.

Описание

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

Синтаксис

Синтаксис команды ATTACH DATABASE в SQLite:

ATTACH [DATABASE] 'filename' AS database_name;

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

DATABASE
Необязательный. Команду можно запустить как ATTACH DATABASE или ATTACH.

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

database_name
Логическое имя файла базы данных для использования в контексте текущего подключения к базе данных.

Примечание

  • После того, как файл базы данных был присоединен, используйте логическое имя базы данных (не имя файла), чтобы обратиться к объектам в присоединенной базе данных.
  • Имена баз данных с именами main и temp являются зарезервированными именами в подключении к вашей базе данных и не могут использоваться для подключенных баз данных. Имя базы данных с именем main зарезервировано для основной базы данных, а имя базы данных с именем temp зарезервировано для базы данных, содержащей временные таблицы.
  • Присоединенные базы данных должны использовать ту же кодировку текста, что и база данных main.
  • Если вы используете : memory: в качестве имени файла в команде ATTACH DATABASE, будет создана новая attach_database_memory.
  • Когда соединение с базой данных закрыто, присоединенная база данных будет автоматически отключена.

Примеры использования

Как видите, у нас есть наша основная база данных с именем main, которую можно найти по адресу /sqlite/test.sqlite. Далее, давайте подключим базу данных с именем example.sqlite следующей командой:

Если файл базы данных с именем example.sqlite еще не существует, он будет создан при выполнении вышеуказанной команды.

Теперь, когда мы подключили базу данных example.sqlite, давайте повторно запустим команду .database, чтобы показать все базы данных в нашем текущем соединении:

Теперь вы можете видеть, что база данных example.sqlite подключена, и все ее объекты будут доступны в этом подключении к базе данных. Если вы хотите получить доступ к одному из объектов в присоединенной базе данных, вы можете добавить к примеру префикс объекта в качестве имени базы данных.

Чтобы удалить подключенную базу данных из вашего соединения, используйте команду DETACH DATABASE или закройте соединение с базой данных.