DDL差异

更新时间:
复制 MD 格式

对比AnalyticDB for MySQL与标准MySQLDDL语句支持差异。CREATE TABLE、ALTER TABLE、CREATE VIEW等常用DDL完全支持,部分高级DDL因分布式架构特性不适用。

AnalyticDB for MySQL兼容绝大多数常用MySQL DDL语句。您可以像使用MySQL一样执行建表、改表、建视图等核心操作。以下按支持程度分组列出所有DDL语句的兼容情况。

完全支持的DDL

DDL语句

说明

CREATE TABLE

创建表。

CREATE TABLE ... LIKE

使用LIKE语法创建表。

CREATE TABLE ... SELECT

使用SELECT语法创建表(CTAS)。

ALTER TABLE Partition

修改表的分区。

RENAME TABLE

重命名一个或多个表。

DROP TABLE

删除一个或多个表。

TRUNCATE TABLE

清空表的所有行。

CREATE VIEW

定义新的视图。

DROP VIEW

删除一个或多个视图。

部分支持的DDL(有限制)

DDL语句

支持情况

定义

ALTER TABLE

支持。

暂不支持:

  • 修改表/列option

  • 多列alter

  • 新增约束

修改表的定义。

CREATE INDEX

支持。

创建XUANWU_V2表时默认不创建全列索引。创建XUANWU表时默认创建全列索引index_all='Y'。不支持创建多列索引、唯一索引和空间索引,同时会忽略[index_option][algorithm_option | lock_option]。

定义一个新的索引。

CREATE DATABASE

支持。

AnalyticDB for MySQL中会忽略CHARACTER SETCOLLATE的值。

创建一个新的数据库。

DROP DATABASE

支持。

为了保护数据,在AnalyticDB for MySQL中删除数据库前,您需要先删除目标库下的表。

删除数据库。

不支持的DDL

以下DDL语句因云原生分布式架构特性不适用。

DDL语句

定义

存储过程和函数

ALTER FUNCTION

修改函数的定义。

ALTER PROCEDURE

修改存储过程特征。

CREATE FUNCTION

定义一个新的函数。

CREATE PROCEDURE

定义存储过程。

DROP FUNCTION

删除函数。

DROP PROCEDURE

删除存储过程。

触发器和事件

ALTER EVENT

修改现有事件的一个或多个特征。

CREATE EVENT

定义一个新的事件。

CREATE TRIGGER

定义触发器。

DROP EVENT

删除事件。

DROP TRIGGER

删除触发器。

表空间和日志文件组

ALTER LOGFILE GROUP

修改日志文件组。

ALTER TABLESPACE

修改表空间,添加新数据文件或从表空间删除数据文件。

CREATE LOGFILE GROUP

定义一个新的日志文件组或将文件添加到现有的日志文件组。

CREATE TABLESPACE

定义表空间。

DROP LOGFILE GROUP

删除日志文件组。

DROP TABLESPACE

删除表空间。

服务器

ALTER SERVER

修改服务器信息。

CREATE SERVER

定义一个用于存储引擎的服务器。

DROP SERVER

删除服务器。

其他

ALTER DATABASE

修改数据库属性。

ALTER VIEW

修改视图的定义。

CREATE TEMPORARY TABLE

创建临时表。

DROP INDEX

删除索引。

FOREIGN KEY Constraints

外键约束。