DDL

Lindorm提供了一系列DDL命令,用于定义和管理数据库的结构,包括数据库、表、索引等对象。

以下是目前已支持的DDL命令,及其需要的权限和支持的粒度:

重要

ALLALL PRIVILEGE权限包含了READ、WRITE、ADMINTRASH权限,即授予ALL权限表示同时授予了这四种权限。

下表仅罗列非ALL权限。

命令分类

命令

说明

需要的权限

权限支持的粒度

库表结构查询

DESCRIBE

查询表或数据库的结构。

READ

  • GLOBAL

  • DATABASE

数据库管理

USE

切换当前数据库。

  • READ

  • WRITE

  • ADMIN

  • GLOBAL

  • DATABASE

  • TABLE

CREATE DATABASE

创建数据库,支持同时设置库属性。

ADMIN

GLOBAL

ALTER DATABASE

修改数据库属性。

ADMIN

GLOBAL

DROP DATABASE

删除指定数据库。

需同时具备READADMIN权限

GLOBAL

SHOW DATABASES

展示当前实例下所有数据库。

  • READ

  • WRITE

  • ADMIN

  • GLOBAL

  • DATABASE

  • TABLE

表管理

CREATE TABLE

创建表,支持同时设置表属性。

ADMIN

  • GLOBAL

  • DATABASE

CREATE TABLE LIKE

创建一个与原表结构相同的新表。

需同时具备READADMIN权限

DATABASE

ALTER TABLE

修改表结构,例如增加列、删除列、修改数据类型、新增表属性等。

需同时具备READADMIN权限

DATABASE

DROP TABLE

删除指定表。

需同时具备ADMINTRASH权限

DATABASE

TRUNCATE TABLE

快速清空表中数据,同时保留表的结构和索引。

需同时具备ADMINTRASH权限

DATABASE

SHOW TABLES

展示数据库中满足查询条件的所有表。

  • READ

  • GLOBAL

  • DATABASE

SHOW CREATE TABLE

查询指定表的建表语句。

需同时具备READADMIN权限

DATABASE

OFFLINE TABLE

下线指定表。表下线后,禁止读写。

ADMIN

  • GLOBAL

  • DATABASE

ONLINE TABLE

上线指定表。表上线后,支持读写。

ADMIN

  • GLOBAL

  • DATABASE

索引管理

CREATE INDEX

创建二级索引、搜索索引和列存索引,支持添加索引属性。

需同时具备READADMIN权限

DATABASE

ALTER INDEX

变更索引状态、增加索引列。

需同时具备READADMIN权限

DATABASE

BUILD INDEX

构建二级索引,2.2.16之后、2.6.3及之前版本的宽表引擎需在提交索引构建命令后通过该命令单独构建二级索引。

需同时具备READADMIN权限

DATABASE

DROP INDEX

删除指定索引。

需同时具备READ、ADMINTRASH权限

DATABASE

SHOW INDEX

查看指定表的索引信息,包括索引类型、构建进度等。

需同时具备READADMIN权限

DATABASE

修改系统属性

ALTER SYSTEM

修改系统动态配置参数,例如文件版本号、慢查询视图等。

ADMIN

GLOBAL

查看系统属性、表属性

SHOW VARIABLES

展示系统属性或特定表的属性。

READ

GLOBAL

SQL查询进程管理

SHOW PROCESSLIST

展示正在执行的SQL语句及其详细信息。

  • READ

  • WRITE

  • ADMIN

  • GLOBAL

  • DATABASE

  • TABLE

KILL QUERY

终止正在执行的SQL语句。

  • READ

  • WRITE

  • ADMIN

  • GLOBAL

  • DATABASE

  • TABLE