
# INSERT INTO
本章节介绍如何插入数据。
#### 基本语法
- 标准格式插入数据。
  ```
  INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...
  ```
  ![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
  对于存在于表结构中但不存在于插入列表中的列，它们将会按照如下方式填充数据：
  - 如果存在DEFAULT表达式，根据DEFAULT表达式计算被填充的值。
  
  - 如果没有定义DEFAULT表达式，则填充零或空字符串。
   
  接[复制表结构创建表](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0317.html#cloudtable_01_0317__section545282384812)示例，插入数据：
  ```
  insert into demo_t values(1,'Candy','23','M'),(2,'cici','33','F');
  ```
  

- 使用SELECT的结果写入。
  ```
  INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...
  ```
  ![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
  写入的列与SELECT的列的对应关系是使用位置来进行对应的，它们在SELECT表达式与INSERT中的名称可以是不同的。需要对它们进行对应的类型转换。
  除了VALUES格式之外，其他格式中的数据都不允许出现诸如now()，1+2等表达式。VALUES格式允许您有限度的使用这些表达式，但是不建议您这么做，因为执行这些表达式很低效。
  
 
