Executing Queries
This section describes how to execute queries using MySQL remoting from any tool that can connect to MySQL.
When executing queries, use a two-part name, in the format:
[<Schema Name>].[<Table Name>]where
- Schema Name is the name of the system schema or user-defined schema. (This is normally the service name.)
- Table Name is the name of the table you are copying data from.
SELECT Statements
To create new records:SELECT * FROM [CosmosDB].[[CData].[Entities].Customers] WHERE Country = 'US'Note: MySQL treats identifiers as case-insensitive, even if the data source supports case-sensitive identifiers. This can be a problem when the database contains multiple tables of the same name in a single schema, because when using MySQL it is not possible to query tables of the same name that only vary by upper or lower case-sensitive (for example, a schema with one table named Account, and a second table named ACCOUNT).
INSERT, UPDATE, and DELETE Statements
To insert, update, or delete a single row of data against a writeable database, use the two-part name. For example:INSERT INTO [CosmosDB].[[CData].[Entities].Customers] (Country) VALUES ('US');
Bulk Operations
To perform bulk operations, use syntax similar to the following:You can run a bulk INSERT using a SELECT query in place of a VALUES list.
INSERT INTO [CosmosDB].[[CData].[Entities].Customers] ([Country]) SELECT [Country] FROM [Local_[CData].[Entities].Customers]You can run a bulk UPATE using a JOIN with a local table.
UPDATE [CosmosDB].[[CData].[Entities].Customers] INNER JOIN [Local_[CData].[Entities].Customers] ON [Local_[CData].[Entities].Customers].[_id] = [CosmosDB].[[CData].[Entities].Customers].[_id] SET [CosmosDB].[[CData].[Entities].Customers].[Country].[Local_Country]You can run a bulk DELETE using the IN filter with sub-SELECT query.
DELETE FROM [CosmosDB].[[CData].[Entities].Customers WHERE [_id] IN (SELECT [_id] FROM Local_[CData].[Entities].Customers)
Execute Stored Procedures
To execute the stored procedure, use:Call CreateJob('Insert')