179 votes

Copie des données d'un sqlite db à l'autre

J'ai 2 bases de données sqlite avec des données communes mais avec des objectifs différents et je voulais éviter de la réinsertion de données, donc je me demandais si il était possible de copier un tableau à partir d'un DB à l'autre. Je n'ai rien trouvé à ce sujet sur Google concernant les bases de données sqlite, de sorte que mes espoirs ne sont pas élevés.

208voto

Michael D. Irizarry Points 3983

Vous devrez joindre la Base de données X avec la Base de données Y à l'aide de la commande de liaison, puis lancer l'Insérer Dans les commandes pour les tables que vous souhaitez transférer.

INSERT INTO X.TABLE(Id, Value) SELECT * FROM Y.TABLE;

59voto

Neeraj Chandak Points 123

Considérons un exemple où j'ai deux bases de données à savoir allmsa.db et atlanta.db. Dire que la base de données allmsa.db a des tables pour tous les msas en NOUS et de la base de données d'atlanta.db est vide.

Notre objectif est de copier la table d'atlanta de allmsa.db à atlanta.db.

Étapes

  1. sqlite3 atlanta.db(aller à atlanta base de données)
  2. Joindre allmsa.db. Cela peut être fait en utilisant la commande ATTACH '/mnt/fastaccessDS/core/csv/allmsa.db' AS AM; notez que nous donner le chemin complet de la base de données pour être fixé.
  3. vérifiez la liste de base de données à l'aide de sqlite> .databases vous pouvez voir le résultat en tant que

    seq nom de fichier


    0 main /mnt/fastaccessDS/core/csv/atlanta.db
    2 AM /mnt/fastaccessDS/core/csv/allmsa.db

  4. maintenant vous arrivez à votre cible réelle. Utilisez la commande INSERT INTO atlanta SELECT * FROM AM.atlanta;

Cela devrait servir vos fins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X