ホームページ > データベース > mysql チュートリアル > 異なる SQLite データベース間でテーブルを結合するにはどうすればよいですか?

異なる SQLite データベース間でテーブルを結合するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 00:48:40
オリジナル
137 人が閲覧しました

How Can I Join Tables Across Different SQLite Databases?

SQLite での異なるデータベースからのテーブルの結合

複数の SQLite データベースを操作する場合、アクセスして結合するにはデータベース間でテーブルを結合する必要があります。データ。 SQLite は異なるデータベースからのテーブルの直接結合をネイティブにサポートしていませんが、ATTACH コマンドを使用した回避策があります。

データベースのアタッチ

ATTACH コマンドを使用すると、データベースをアタッチできます。外部データベース ファイルを現在の接続に接続します。これにより、接続されたデータベースのテーブルとデータにアクセスできるようになります。データベースをアタッチするには、次の構文を使用します。

ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';
ログイン後にコピー

「path/to/db.sqlite」をアタッチするデータベース ファイルへのパスに置き換え、「alias」をデータベース ファイルに使用するエイリアスに置き換えます。添付のデータベースを参照してください。

2 つの SQLite データベース「database1.db」と「database2.db」があるシナリオ。 2 番目のデータベースを接続するには:

ATTACH DATABASE 'database2.db' AS 'db2';
ログイン後にコピー

テーブルの結合

データベースを接続した後、同じデータベース内にあるかのように、データベース間でテーブルを結合できます。次の構文を使用します:

SELECT
  *
FROM
  db1.table1 AS T1
INNER JOIN
  db2.table2 AS T2
ON T1.column1 = T2.column2;
ログイン後にコピー

ここで、'db1.table1' と 'db2.table2' は、それぞれ接続されたデータベース 'db1' と 'db2' のテーブルです。

接続されたデータベースのクエリ

接続されたデータベースを確認するには、 .databases コマンド:

.databases
ログイン後にコピー

これにより、現在接続されているすべてのデータベースとそのエイリアスがリストされます。

制限事項

データベース名は ' main' と 'temp' は、それぞれプライマリ データベースと一時データベース用に予約されています。競合を防ぐため、接続されたデータベースにこれらの名前を使用しないでください。

以上が異なる SQLite データベース間でテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート