Saltar al contenido

Copiar datos de una base de datos SQLite a otra

Si hallas algún fallo con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Tendrá que adjuntar la base de datos X con la base de datos Y usando el comando ATTACH, luego ejecutar los comandos Insertar en apropiados para las tablas que desea transferir.

INSERT INTO X.TABLE SELECT * FROM Y.TABLE;

O, si las columnas no están emparejadas en orden:

INSERT INTO X.TABLE(fieldname1, fieldname2) SELECT fieldname1, fieldname2 FROM Y.TABLE;

La forma más fácil y correcta en una sola línea:

sqlite3 old.db ".dump mytable" | sqlite3 new.db

El primario key y los tipos de columnas se mantendrán.

Considere un ejemplo en el que tengo dos bases de datos, a saber, allmsa.db y atlanta.db. Digamos que la base de datos allmsa.db tiene tablas para todos los msas en EE. UU. y la base de datos atlanta.db está vacía.

Nuestro objetivo es copiar la tabla atlanta de allmsa.db a atlanta.db.

Pasos

  1. sqlite3 atlanta.db (para entrar en la base de datos atlanta)
  2. Adjunte allmsa.db. Esto se puede hacer usando el comando ATTACH '/mnt/fastaccessDS/core/csv/allmsa.db' AS AM;
    tenga en cuenta que le damos la ruta completa de la base de datos que se adjuntará.
  3. verifique la lista de la base de datos usando sqlite> .databases
    puedes ver la salida como
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /mnt/fastaccessDS/core/csv/atlanta.db                  
2    AM               /mnt/fastaccessDS/core/csv/allmsa.db 
  1. ahora llegas a tu objetivo real. Usa el comando
    INSERT INTO atlanta SELECT * FROM AM.atlanta;

Esto debería servir a su propósito.

Recuerda algo, que puedes agregar una reseña .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *