クエリの実行
このセクションでは、MySQL に接続可能なあらゆるツールからMySQL リモーティングを使用してクエリを実行する方法を説明します。
クエリを実行する場合、以下のフォーマットのように2部構成の名前を使用します。
[<Schema Name>].[<Table Name>]説明
- Schema Name は、システムスキーマまたはユーザー定義のスキーマの名前です。(これは通常はサービス名です。)
- Table Name は、データのコピー元のテーブルの名前です。
SELECT ステートメント
新しいレコードを作成するには:SELECT * FROM [GoogleBigQuery].[[publicdata].[samples].github_nested] WHERE repository.name = 'EntityFramework'Note:データソースが大文字と小文字を区別する識別子をサポートしていても、MySQL は大文字と小文字を区別しない識別子として扱います。これは、データベースが単一のスキーマに同じ名前の複数のテーブルを含む場合に問題となります。なぜなら、MySQL を使用する場合、大文字と小文字の違いがあるだけの同名のテーブルを参照することはできないからです(例えば、1つのスキーマにAccount という名前のテーブルとACCOUNT という名前のテーブルがある場合)。
INSERT、UPDATE、およびDELETE ステートメント
書き込み可能なデータベースに対して一行のデータを挿入、更新、または削除するには、2部構成の名前を使用します。 次に例を示します。INSERT INTO [GoogleBigQuery].[[publicdata].[samples].github_nested] (repository.name) VALUES ('EntityFramework');
バルク操作
バルク操作を実行するには、次のような構文を使用します:VALUES リストの代わりに、SELECT クエリを使用してバルクINSERT を実行できます。
INSERT INTO [GoogleBigQuery].[[publicdata].[samples].github_nested] ([repository.name]) SELECT [repository.name] FROM [Local_[publicdata].[samples].github_nested]ローカルテーブルでJOIN を使用して、バルクUPDATE を実行できます。
UPDATE [GoogleBigQuery].[[publicdata].[samples].github_nested] INNER JOIN [Local_[publicdata].[samples].github_nested] ON [Local_[publicdata].[samples].github_nested].[Id] = [GoogleBigQuery].[[publicdata].[samples].github_nested].[Id] SET [GoogleBigQuery].[[publicdata].[samples].github_nested].[repository.name].[Local_repository.name]sub-SELECT クエリでIN フィルタを使用して、バルクDELETE を実行できます。
DELETE FROM [GoogleBigQuery].[[publicdata].[samples].github_nested WHERE [Id] IN (SELECT [Id] FROM Local_[publicdata].[samples].github_nested)
ストアドプロシージャの実行
ストアドプロシージャを実行するには、以下を使用します。Call CreateJob('Insert')