Maison >base de données >tutoriel mysql >Comment puis-je joindre des tables dans différentes bases de données SQLite ?

Comment puis-je joindre des tables dans différentes bases de données SQLite ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-05 00:48:40133parcourir

How Can I Join Tables Across Different SQLite Databases?

Joindre des tables de différentes bases de données dans SQLite

Lorsque vous travaillez avec plusieurs bases de données SQLite, il devient nécessaire de joindre des tables dans plusieurs bases de données pour accéder et combiner données. Bien que SQLite ne prenne pas en charge nativement la jointure directe de tables provenant de différentes bases de données, il existe une solution de contournement utilisant la commande ATTACH.

Attachement de bases de données

La commande ATTACH vous permet d'attacher un fichier de base de données externe à la connexion actuelle. Cela vous permet d'accéder aux tables et aux données de la base de données attachée. Pour attacher une base de données, utilisez la syntaxe suivante :

ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';

Remplacez 'path/to/db.sqlite' par le chemin d'accès au fichier de base de données que vous souhaitez attacher, et 'alias' par un alias utilisé pour reportez-vous à la base de données ci-jointe.

Exemple

Considérez un scénario dans lequel vous avez deux SQLite bases de données : 'database1.db' et 'database2.db'. Pour attacher la deuxième base de données :

ATTACH DATABASE 'database2.db' AS 'db2';

Joindre des tables

Après avoir attaché les bases de données, vous pouvez joindre des tables entre des bases de données comme si elles se trouvaient dans la même base de données. Utilisez la syntaxe suivante :

SELECT
  *
FROM
  db1.table1 AS T1
INNER JOIN
  db2.table2 AS T2
ON T1.column1 = T2.column2;

Ici, 'db1.table1' et 'db2.table2' sont des tables des bases de données attachées 'db1' et 'db2', respectivement.

Interrogation des bases de données attachées

Pour vérifier les bases de données attachées, utilisez le .databases commande :

.databases

Cela listera toutes les bases de données actuellement attachées et leurs alias.

Limitations

Notez que les noms de base de données « principale » et 'temp' sont réservés respectivement aux bases de données primaire et temporaire. Évitez d'utiliser ces noms pour les bases de données attachées afin d'éviter les conflits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn