# SQL 语句

按类别列出 MatrixOne 实例侧常见 SQL 语句。本页是**分类清单**，不展开每条完整语法树；控制台「权限 · MatrixOne」与实例能力决定你是否有权执行对应语句。

## DDL（数据定义）

定义或变更库、表、索引、视图及 MatrixOne 扩展对象。

| 类别 | 语句（摘要） |
| --- | --- |
| 创建 | `CREATE DATABASE`、`CREATE TABLE`、`CREATE TABLE AS SELECT`、`CREATE EXTERNAL TABLE`、`CREATE VIEW`、`CREATE INDEX` / 向量索引、`CREATE SEQUENCE`、`CREATE FUNCTION`、`CREATE STAGE`、`CREATE PUBLICATION`、`CREATE ... FROM ... PUBLICATION`（订阅）、`CREATE SNAPSHOT`、`CREATE PITR`、`CREATE SOURCE`、`CREATE DYNAMIC TABLE` 等 |
| 修改 | `ALTER TABLE`、`ALTER VIEW`、`ALTER SEQUENCE`、`ALTER STAGE`、`ALTER PUBLICATION`、`ALTER PITR`、`ALTER REINDEX`、`RENAME TABLE` 等 |
| 删除 | `DROP DATABASE`、`DROP TABLE`、`DROP VIEW`、`DROP INDEX`、`DROP SEQUENCE`、`DROP FUNCTION`、`DROP STAGE`、`DROP PUBLICATION`、`DROP SNAPSHOT`、`DROP PITR` 等 |
| 清空 | `TRUNCATE TABLE` |
| 恢复 | `RESTORE SNAPSHOT`、`RESTORE PITR`、`RESTORE ACCOUNT` 等（权限与场景受限） |

扩展对象说明（产品向）：

- **Stage**：外部存储位置抽象，常与 `LOAD DATA`、文件列表函数配合。  
- **Publication / Subscription**：跨实例数据发布与订阅。  
- **Snapshot / PiTR**：备份恢复时间点相关能力。  
- **External / Dynamic table**：外表与动态表（以实例版本是否开放为准）。

## DML（数据修改）

| 语句 | 用途 |
| --- | --- |
| `INSERT` / `INSERT INTO ... SELECT` | 插入行 |
| `INSERT IGNORE` / `INSERT ... ON DUPLICATE KEY UPDATE` | 冲突时忽略或更新 |
| `REPLACE` | 替换行 |
| `UPDATE` | 更新已有行 |
| `DELETE` | 删除行 |
| `LOAD DATA INFILE` / `LOAD DATA INLINE` | 批量装载（语法子集见[使用限制](limitations.md)） |

## DQL（数据查询）

以 `SELECT` 为核心：

| 能力 | 要点 |
| --- | --- |
| 单表 / 投影 / 过滤 / 聚合 | `SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT` |
| 连接 | `INNER` / `LEFT` / `RIGHT` / `FULL` / `NATURAL` / `OUTER` JOIN |
| 子查询 | `IN` / `EXISTS` / `ANY`/`SOME` / `ALL`、派生表 |
| CTE | `WITH` 公用表表达式 |
| 集合运算 | `UNION`、`INTERSECT`、`MINUS` |

## TCL（事务）

| 语句 | 用途 |
| --- | --- |
| `START TRANSACTION` / `BEGIN` | 开启事务 |
| `COMMIT` | 提交 |
| `ROLLBACK` | 回滚 |
| `SET AUTOCOMMIT` | 控制自动提交 |

## DCL（数据控制）

与[权限分类](privileges.md)、[权限 · MatrixOne](../../guides/matrixone/permissions.md)配合：

| 语句 | 用途 |
| --- | --- |
| `CREATE USER` / `DROP USER` / `ALTER USER` | 用户 |
| `CREATE ROLE` / `DROP ROLE` | 角色 |
| `GRANT` / `REVOKE` | 授权与回收 |

## 其他管理语句

| 类别 | 示例 |
| --- | --- |
| 切换上下文 | `USE` 数据库或角色相关切换 |
| `SHOW` | `SHOW DATABASES`、`SHOW TABLES`、`SHOW COLUMNS`、`SHOW CREATE TABLE`、`SHOW INDEX`、`SHOW VARIABLES`、`SHOW GRANTS`、`SHOW PROCESSLIST`、`SHOW ROLES`、`SHOW PUBLICATIONS`、`SHOW SUBSCRIPTIONS`、`SHOW STAGE`、`SHOW SNAPSHOTS`、`SHOW PITR`、`SHOW SEQUENCES`、`SHOW FUNCTION STATUS` 等 |
| `SET` | 设置会话/全局变量、`SET ROLE` 等 |
| 预编译 | `PREPARE` / `EXECUTE` / `DEALLOCATE` |
| 计划 | `EXPLAIN` / `EXPLAIN ANALYZE` |
| 会话 | `KILL` |

## 和平台功能的对应关系

| 业务场景 | 常见语句方向 |
| --- | --- |
| Catalog 建表、查数 | DDL + DQL + DML |
| 跨实例共享数据 | Publication / Subscription 相关 DDL 与 `SHOW` |
| 备份恢复 | Snapshot / PiTR 相关 DDL |
| 向量检索 | `CREATE TABLE`（向量列）+ 向量索引 + 距离函数查询 |
| 实例内权限治理 | DCL + `SHOW GRANTS` |

## 相关页面

- [数据类型](data-types.md)
- [函数](functions.md)
- [使用限制](limitations.md)
- [权限 · MatrixOne](../../guides/matrixone/permissions.md)
