全部产品
云市场

常用语法

更新时间:2019-07-15 19:49:49

跨数据库查询DSQL,兼容MySQL协议和语法,但由于分布式场景下和单机数据库存在一定差异,同时考虑到安全风险,在SQL使用上存在一些限制。具体支持的SQL语法如下。

select

  1. SELECT
  2. [ALL | DISTINCT | DISTINCTROW ]
  3. select_expr [, select_expr ...]
  4. [FROM table_references
  5. [WHERE where_condition]
  6. [GROUP BY {col_name | expr | position}]
  7. [HAVING where_condition]
  8. [ORDER BY {col_name | expr | position}
  9. [ASC | DESC], ...]
  10. [LIMIT {[offset,] row_count | row_count OFFSET offset}]

注意:

SQL语句中的表名,需要加dblink和db前缀,即table_references应该为dblink.db.table的形式,否则系统无法得知该SQL需要查询哪个实例上的数据。

insert

  1. INSERT INTO dblink.db.tbl_name
  2. [(col_name [, col_name] ...)]
  3. {VALUES | VALUE} (value_list) [, (value_list)] ...
  4. value:
  5. {expr | DEFAULT}
  6. value_list:
  7. value [, value] ...

insert into select

  1. INSERT INTO dblink.db.tbl_name
  2. [(col_name [, col_name] ...)]
  3. SELECT ...

create table as select

  1. CREATE TABLE [IF NOT EXISTS] dblink.db.tbl_name
  2. [AS] query_expression
  3. query_expression:
  4. SELECT ... (Some valid select or union statement)

delete

  1. DELETE FROM dblink.db.tbl_name
  2. WHERE where_condition

注意:

where_condition不能包含子查询;此外,当待删除的数据来自Redis时,where_condition必须是关于Redis key的表达式(如:key = ‘xxx’,或key LIKE ‘pattern%’)。