---
title: "INSERT - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: "INSERT 描述 该语句用于向表中添加一个或多个记录。 不支持直接对子查询进行插入操作，例如 INSERT INTO (SELECT * FROM t1) VALUES(1, 1) 。 语法 INSERT [IGNORE] [INTO] single_table_insert [ON DUPLICATE KEY U…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# INSERT

更新时间：2023-07-28 10:45:58

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/400.development-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/5700.insert-sql-of-mysql-mode.md)  

## 描述

该语句用于向表中添加一个或多个记录。

不支持直接对子查询进行插入操作，例如 `INSERT INTO (SELECT * FROM t1) VALUES(1, 1)`。

## 语法

```sql
INSERT [IGNORE] [INTO]
       single_table_insert
       [ON DUPLICATE KEY UPDATE update_asgn_list]

single_table_insert:
    {dml_table_name values_clause
     | dml_table_name '(' ')' values_clause
     | dml_table_name '(' column_list ')' values_clause
     | dml_table_name SET update_asgn_list}

dml_table_name:
    table_name [PARTITION (partition_name,...)]

values_clause:
     {{VALUES | VALUE} ({expr | DEFAULT},...) [, ...]
      | select_stmt}

column_list
    column_name [, ...]

update_asgn_list:
     column_name = expr [, ...]

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| IGNORE | 在 `INSERT` 语句执行过程中发生的错误将会被忽略。 |
| column_list | 用于指定插入数据的列，同时插入多列时以逗号（,）分隔。 |
| table_name | 指定要插入的表名。 |
| partition_name | 插入表指定的分区名。 |
| update_asgn_list | 赋值语句，例如 `c1 = 2`。 |
| ON DUPLICATE KEY UPDATE | 指定对重复主键或唯一键的处理。如果指定了 `ON DUPLICATE KEY UPDATE`，当要插入的主键或唯一键有重复时，会用配置值替换待插入的值；如果不指定 `ON DUPLICATE KEY UPDATE`，当要插入的主键或唯一键有重复时，插入报错。 |

## 示例

示例表及数据基于以下定义：

```sql
obclient> CREATE TABLE t1(c1 INT PRIMARY KEY, c2 INT) PARTITION BY KEY(c1) PARTITIONS 4;
Query OK, 0 rows affected

obclient> CREATE TABLE t2(c1 INT PRIMARY KEY, c2 INT);
Query OK, 0 rows affected
obclient> SELECT * FROM t2;
+----+------+
| c1 | c2   |
+----+------+
|  1 |    1 |
|  2 |    2 |
|  3 |    3 |
|  4 |    4 |
+----+------+
4 rows in set

```

- 向表 `t1` 中插入一行数数据。

  ```javascript
  obclient>  INSERT INTO t1 VALUES(1,1);
  Query OK, 1 row affected

  obclient> SELECT * FROM t1;
  +----+------+
  | c1 | c2   |
  +----+------+
  |  1 |    1 |
  +----+------+
  1 row in set

  ```
 - 向表 `t1` 中插入多行数据。

  ```sql
  obclient> INSERT t1 VALUES(1,1),(2,DEFAULT),(2+2,3*4);
  Query OK, 3 rows affected
  Records: 3  Duplicates: 0  Warnings: 0

  obclient> SELECT * FROM t1;
  +----+------+
  | c1 | c2   |
  +----+------+
  |  1 |    1 |
  |  2 | NULL |
  |  4 |   12 |
  +----+------+
  3 rows in set

  ```
 - 向表 `t1` 指定的 `p0` 分区插入单行数据。

  ```sql
  obclient> INSERT INTO t1 PARTITION(p0) (c1) VALUES(5);
  Query OK, 1 row affected
  obclient> SELECT * FROM t1 PARTITION(p0);
  +----+------+
  | c1 | c2   |
  +----+------+
  |  5 | NULL |
  +----+------+
  1 row in set

  ```
 - 向表 `t1` 中插入重复主键值时利用 `ON DUPLICATE KEY UPDATE` 功能进行值更新。

  ```sql
  obclient> INSERT INTO t1 VALUES(1,1),(1,2) ON DUPLICATE KEY UPDATE c1=100;
  Query OK, 3 rows affected
  Records: 2  Duplicates: 1  Warnings: 0

  obclient> SELECT * FROM t1;
  +-----+------+
  | c1  | c2   |
  +-----+------+
  | 100 |    1 |
  +-----+------+
  1 row in set

  ```
 - 向可更新视图 `v` 的插入值。

  ```sql
  obclient> CREATE VIEW v AS SELECT * FROM t1;
  Query OK, 0 rows affected
  obclient> INSERT INTO v VALUES (1,1);
  Query OK, 1 row affected

  obclient> SELECT * FROM v;
  +----+------+
  | c1 | c2   |
  +----+------+
  |  1 |    1 |
  +----+------+
  1 row in set

  ```
 - 向 `t2` 表中插入 `t1` 的查询结果。

  ```sql
  obclient> INSERT INTO t1 SELECT * FROM t2 WHERE c1>2;
  Query OK, 2 rows affected
  Records: 2  Duplicates: 0  Warnings: 0

  obclient> SELECT * FROM t1;
  +----+------+
  | c1 | c2   |
  +----+------+
  |  3 |    3 |
  |  4 |    4 |
  +----+------+
  2 rows in set

  ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
