sql >> Base de Datos >  >> RDS >> SQLite

Adjuntar una base de datos en SQLite

Al usar SQLite, puede usar el ATTACH DATABASE instrucción para agregar un archivo de base de datos a la conexión de base de datos actual.

Cuando hace esto, adjunta un nombre de archivo de base de datos y proporciona un nombre para la base de datos. Si el archivo existe, se adjuntará con el nombre elegido; de lo contrario, se creará y adjuntará con el nombre elegido.

Ejemplo

ATTACH DATABASE 'Pets.db' AS Pets;

Este ejemplo hace que Pets.db archivo de base de datos que se adjuntará y se llamará Pets .

Puedes usar .databases para comprobar que se ha adjuntado.

.databases

Resultado:

main: /Users/Shared/Pets.db
Pets: /Users/Shared/Pets.db

En este caso, previamente agregué esta base de datos en main , por lo que el mismo archivo de base de datos ahora se adjunta con dos nombres diferentes.

El nombre es el nombre de la base de datos utilizada internamente por SQLite.

Separar una base de datos

Puedes usar DETACH DATABASE para separar una base de datos de la conexión actual. Esto no elimina el archivo de la base de datos, simplemente elimina la base de datos de su conexión.

DETACH DATABASE Pets;

Vuelva a comprobar:

.databases

Resultado:

main: /Users/Shared/Pets.db

Tenga en cuenta que no puede separar main (o temp ) bases de datos. Si intenta hacer eso, es probable que reciba este error:

sqlite> DETACH DATABASE main;
Error: cannot detach database main

Expresiones

El ATTACH DATABASE sintaxis especifica que el nombre de archivo que proporciona es en realidad una expresión. Puede proporcionar un valor literal o una expresión.

La sintaxis de las expresiones es bastante compleja y se describe en la documentación de SQLite si está interesado.