序文 MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサービス内でのクロスデータベース クエリ、もう 1 つは異なるサービス間でのクロスデータベース クエリです。クロスデータベース クエリはそれぞれ異なります。以下では、これら 2 種類のクロスデータベース クエリについて詳しく紹介します。 1. 同じサービスのデータベース間クエリ 同じサービスのデータベース間クエリでは、関連付けられたクエリを実行するときにのみデータ名を含める必要があります。SQL は次のように記述されます: SELECT * FROM database1.table1 x JOIN database2.table2 y ON x.field1=y.field2; たとえば、次のようになります。 2. 異なるサービスのデータベース間クエリ 異なるサービスのデータベース間クエリは、データ名を追加することによって直接関連付けることはできません。ここでは、MySQL データベースのフェデレーション エンジンが必要です。具体的なプロセスは以下のとおりです。 要件: 必要なデータを照会するには、サービス A のデータベース X のテーブル A をサービス B のデータベース Y のテーブル B に関連付ける必要があります。 1. まず、次に示すように、show engines コマンドを使用して、MySQL データベースに FEDERATED エンジンがインストールされているかどうかを確認します。 上図に示すように、MySQL には FEDERATED エンジンがインストールされていますが、サポートが No になっており、有効になっていません。my.cnf ファイルの末尾に FEDERATED の行を追加し、MySQL を再起動します。 FEDERATED エンジンが見つからない場合は、インストールする必要があります。 2. 次のステートメントを使用して、サービス A のデータベース X にテーブル B を作成します。CREATE TABLE table_name (……) ENGINE=FEDERATED CONNECTION='mysql://[username]:[password]@[localtion]:[port]/[db-name]/[table-name]' 注: FEDERATED エンジンによって作成されたテーブルにはローカル テーブル定義ファイルのみがあり、データ ファイルはリモート データベースに存在します。このエンジンは、リモート データ アクセス機能を実現できます。つまり、このテーブル作成方法では、サービス A のデータベース X にテーブル構造ファイル (つまり、サービス B のデータベース Y にテーブル B のテーブル構造ファイル) が作成されます。テーブル インデックス、データ、その他のファイルもサービス B のデータベース Y にあり、簡単に関連付けるためのショートカットに相当します。 3. サービス A のデータベース X で、テーブル A をテーブル B に直接関連付けて、必要なデータを照会します。 このアプローチについては、いくつか注意すべき点があります。 1) このデータベース間クエリ方法はトランザクションをサポートしていないため、トランザクションを使用しないことをお勧めします。 2) テーブル構造を変更することはできません。 3) MySQL はこのデータベース間クエリ方式を使用します。現在、リモート データベースは MySQL のみをサポートしており、他のデータベースはサポートされていません。 4) テーブル構造は、ターゲット データベース テーブルとまったく同じである必要があります。 要約する これで、MySQL のクロスデータベース クエリに関するこの記事は終了です。MySQL のクロスデータベース クエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux でのマルチスレッドプログラミング例の分析
>>: シンプルなカルーセル チャートを実装するための JavaScript の最も完全なコード分析 (ES5)
目次01 sql_slave_skip_counter パラメータ02 スレーブスキップエラーパラメ...
ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...
CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...
この記事では、キャンバスでスクラッチカード効果を描画するための具体的なコードを参考までに共有します。...
OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...
WeChat ミニプログラム - QR コード ジェネレーターダウンロード: weapp-qrcod...
概要: HBase には、ユーザーに管理、分析、修復、デバッグ機能を提供するための多くの操作および保...
ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...
Linux では、シンボリック リンクを作成または削除する必要がある場合があります。もしそうなら、何...
1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...
この記事では、Jingdongの虫眼鏡効果を実現するためのJavaScriptの具体的なコードを紹介...
目次1. プロトタイプ2. プロトタイプポインタ: __proto__要約する1. プロトタイプJa...
目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...
目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...
1. 動的パラメータ2.6.0 以降では、角括弧で囲まれた JavaScript 式をディレクティブ...