推特 阿里云技术文档正文

SQL 简介_SQL 手册_分布式关系型数据库 DRDS

admin 阿里云技术文档 2020-02-11 175 0
阿里云服务器优惠

SQL 简介

本 SQL 参考手册主要介绍 DRDS 最新版本的 SQL 语句及其语法。

SQL 兼容性

DRDS 高度兼容 MySQL 协议和语法,但由于分布式数据库和单机数据库存在较大的架构差异,存在 SQL 使用限制。相关兼容性和 SQL 限制描述如下。

SQL 大类限制

  • 暂不支持用户自定义数据类型、自定义函数。
  • 暂不支持视图、存储过程、触发器、游标。
  • 暂不支持临时表。
  • 暂不支持 BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE 等复合语句。
  • 暂不支类似 IF ,WHILE 等流程控制类语句。

小语法限制

DDL

  • CREATE TABLE tbl_name LIKE old_tbl_name 不支持拆分表。
  • CREATE TABLE tbl_name SELECT statement 不支持拆分表。
  • 暂不支持同时 RENAME 多表。
  • 暂不支持 ALTER TABLE 修改拆分字段。
  • 暂不支持跨Schema的DDL, 例如, CREATE TABLE db_name.tbl_name (… )。

DML

  • 暂不支持 SELECT INTO OUTFILE/INTO DUMPFILE/INTO var_name。
  • 暂不支持 STRAIGHT_JOIN 和 NATURAL JOIN。
  • 暂不支持 DELETE 使用子查询和 ORDER BY/LIMIT。
  • 暂不支持 跨分片 DELETE 使用 ORDER BY/LIMIT。
  • 暂不支持 跨分片 DELETE 多表中的数据。
  • 暂不支持 UPDATE 使用子查询。
  • 暂不支持 跨分片 UPDATE 使用 ORDER BY/LIMIT。
  • 暂不支持 跨分片 UPDATE 多表。
  • 暂不支持 INSERT DELAYED Syntax。
  • 暂不支持 SQL 中对于变量的引用和操作,比如 SET @c=1, @d=@c+1; SELECT @c, @d。
  • 暂不支持在柔性事务中 INSERT / REPLACE / UPDATE / DELETE 广播表。

子查询

子查询相关细节可参考文档,以下简单罗列不支持的情况:

  • 不支持 HAVING 子句中的子查询,JOIN ON 条件中的子查询。
  • 等号操作行符的标量子查询(The Subquery as Scalar Operand)不支持 ROW 语法。

数据库管理

  • SHOW WARNINGS Syntax 不支持 LIMIT/COUNT 的组合。
  • SHOW ERRORS Syntax 不支持 LIMIT/COUNT 的组合。

运算符

  • 暂不支持 ‘:=’ 赋值运算符。

函数

关键字

  • 暂不支持 MILLISECOND。
  • 暂不支持 MICROSECOND。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

-----