SQLite Отсоединение базы данных

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

Если база данных является базой данных в памяти или временной базой данных, база данных будет уничтожена, и ее содержимое будет потеряно.

Синтаксис

Базовый синтаксис оператора DETACH DATABASE 'Alias-Name' в SQLite выглядит следующим образом:

DETACH DATABASE 'Alias-Name';

Здесь 'Alias-Name' — это тот же псевдоним, который вы использовали при присоединении базы данных с помощью оператора ATTACH ранее.

Пример

Предположим, вы создали базу данных в предыдущих главах и присоединили к ней 'test' и 'currentDB'. С помощью команды .database мы можем увидеть:

sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db
2    test             /home/sqlite/testDB.db
3    currentDB        /home/sqlite/testDB.db

Теперь давайте попробуем отсоединить 'currentDB' от testDB.db следующим образом:

sqlite> DETACH DATABASE 'currentDB';

Теперь, если вы проверите текущие присоединённые базы данных, вы обнаружите, что testDB.db всё ещё подключена к 'test' и 'main'.

sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db
2    test             /home/sqlite/testDB.db
Другие расширения