Когато използвате SQLite, можете да използвате ATTACH DATABASE
изявление за добавяне на файл на база данни към текущата връзка с базата данни.
Когато направите това, прикачвате име на файл на база данни и предоставяте име за базата данни. Ако файлът съществува, той ще бъде прикачен с избраното от вас име, в противен случай ще бъде създаден и прикачен с избраното от вас име.
Пример
ATTACH DATABASE 'Pets.db' AS Pets;
Този пример причинява Pets.db
файл с база данни, който да бъде прикачен и наречен Pets
.
Можете да използвате .databases
за да проверите дали е прикачен.
.databases
Резултат:
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
В този случай преди това бях добавил тази база данни под main
, така че един и същ файл на базата данни вече е прикачен под две различни имена.
Името е името на базата данни, използвана вътрешно от SQLite.
Откачване на база данни
Можете да използвате DETACH DATABASE
за да отделите база данни от текущата връзка. Това не изтрива файла на базата данни, а просто премахва базата данни от вашата връзка.
DETACH DATABASE Pets;
Проверете отново:
.databases
Резултат:
main: /Users/Shared/Pets.db
Имайте предвид, че не можете да отделите main
(или temp
) бази данни. Ако се опитате да направите това, вероятно ще получите тази грешка:
sqlite> DETACH DATABASE main;
Error: cannot detach database main
Изрази
ATTACH DATABASE
синтаксисът указва, че името на файла, което предоставяте, всъщност е израз. Можете да предоставите буквална стойност или израз.
Синтаксисът на изразите е доста сложен и е описан в документацията на SQLite, ако се интересувате.