更新时间:2024-04-01 GMT+08:00

DDL概述

DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。

在MySQL客户端执行DDL操作

  • rename table name不支持与其他DDL语句在同一条SQL执行。
  • 对拆分表执行修改字段名操作的同时执行类似SELECT * [DDL相关表]等包含全字段的查询语句时,有可能会上报列名不存在的异常,建议在业务低峰期执行此类修改操作,且等修改操作执行完成后再进行相关查询操作,以降低报错概率。
  • 在DDM节点或后端RDS节点压力极大的情况下,对拆分表执行删除字段名操作的同时执行SELECT * [DDL相关表]等包含全字段的查询语句时,有可能会上报列名不存在的异常,建议在业务低峰期执行删除类操作,且等删除类操作执行完成后再进行相关查询操作,以降低报错概率。
  • TRUNCATE Syntax

    示例:

    TRUNCATE TABLE t1;

    表示清空表格t1。

    TRUNCATE会将表完全清空,它需要DROP权限。在逻辑上类似于删除所有行的DELETE语句。

  • ALTER TABLE Syntax

    示例:

    ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;

    表示更改表t2的结构,删除c列和d列。

    ALTER可以添加或删除列、创建或销毁索引、更改现有列的类型或重命名列或表本身。还可以更改特性,如用于表或表注释的存储引擎。

  • DROP INDEX Syntax

    示例:

    DROP INDEX `PRIMARY` ON t;

    表示删除表t中的主键。

    DROP INDEX即从表tbl_name中删除名为index_name的索引。

  • CREATE INDEX Syntax

    示例:

    CREATE INDEX part_of_name ON customer (name(10));

    表示使用name列的前10个字符创建索引(假设name具有非二进制字符串类型)。

    CREATE INDEX用于向现有表添加索引。