# DML语法一览表
DML（Data Manipulation Language，数据操作语言），用于对数据库表中的数据进行操作。如：插入、更新、查询以及删除等。
#### 插入数据
表1插入数据相关SQL 
| 功能               | 相关SQL                                                                                           |
|:---|:---|
| 向数据库表中添加一条或多条记录 | [INSERT](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0349.html)    |
| 向多个表添加一条或多条记录      | [INSERT ALL](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0350.html) |
   
#### 修改数据
修改数据库表中的一条或多条记录，请参见[UPDATE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0408.html)。
#### 修改或者插入数据
GaussDB提供了将目标表和源表中数据根据关联条件进行匹配的语句，若关联条件匹配时对目标表进行UPDATE操作，无法匹配时对目标表执行INSERT操作，请参见[MERGE INTO](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0357.html)。
#### 查询数据
数据库查询语句（SELECT）是用于在数据库中检索适合条件信息的语句，请参见[SELECT](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0381.html)。
#### 删除数据
GaussDB提供了删除表中指定条件的数据的语句，请参见[DELETE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0288.html)。
#### 复制数据
GaussDB提供了在表和文件之间复制数据的语句，请参见[COPY](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0236.html)。
#### 锁
表2锁相关SQL 
| 功能                    | 相关SQL                                                                                           |
|:---|:---|
| 多种锁模式（用于控制对表中数据的并发访问） | [LOCK](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0353.html)        |
| bucket粒度的锁               | [LOCK BUCKETS](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0354.html) |
   
#### 调用函数
GaussDB提供了多种用于调用函数的语句，其在语法结构上并无差别，请参见[CALL](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0228.html)和[CREATE FUNCTION](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0249.html)。
#### 预备语句
表3预备语句相关SQL 
| 功能          | 相关SQL                                                                                             |
|:---|:---|
| 创建一个预备语句      | [PREPARE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0361.html)       |
| 执行一个已提前准备好的预备语句 | [EXECUTE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0332.html)      |
| 删除指定的预备语句   | [DEALLOCATE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0286.html) |
   
#### 结束会话
用户与数据库之间建立的连接称为会话，GaussDB提供了结束会话的语句，请参见[ALTER SYSTEM KILL SESSION](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0210.html)。
#### 执行匿名代码块
GaussDB提供了执行匿名代码块的语句，请参见[DO](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0289.html)。
#### 在指定的节点上执行SQL语句
GaussDB提供了在指定的节点上执行SQL的语句，请参见[EXECUTE DIRECT](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0333.html)。
#### 通过游标检索数据
GaussDB提供了通过已创建的游标进行检索数据的语句，请参见[FETCH](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0340.html)。
#### 插入或替换数据
GaussDB提供了在表中插入或者替换新的数据的语句，请参见[REPLACE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0372.html)。
#### 根据表达式计算值
GaussDB提供了根据指定的值表达式计算一个或一组行的值的语句，请参见[VALUES](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0411.html)。
#### 导入数据
GaussDB提供了将文件中的数据导入到数据库指定表中的语句，请参见[LOAD DATA](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0352.html)。
#### 定义游标
为了处理SQL语句，存储过程线程会分配一段内存区域用于保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标，存储过程可以控制上下文区域的变化。所涉及的SQL语句，如[表4]所示。
 表4游标定义相关SQL 
| 功能   | 相关SQL                                                                                      |
|:---|:---|
| 创建游标 | [CURSOR](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0284.html) |
| 创建游标 | [DECLARE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0287.html)                                           |
| 移动游标 | [MOVE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0358.html)   |
| 关闭游标 | [CLOSE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0231.html)  |
   
#### 显示SQL语句的执行计划
GaussDB提供了显示SQL语句的执行计划的语句，请参见[EXPLAIN](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0336.html)。
