# INSERT 用法

URL: https://caijiao.org/mariadb/data/insert/basic
Source: docs/mariadb/data/insert/basic.md
Description: 本节介绍 MariaDB 中 INSERT 语句的使用方法，包括插入单条、多条记录，以及使用 SELECT 插入和插入时忽略重复记录的技巧。

## 1. 插入单条记录

向表中插入一条新记录：

```sql
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
````

示例：

```sql
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
```

## 2. 插入多条记录

一次插入多条数据，减少数据库交互：

```sql
INSERT INTO users (username, email) VALUES
('bob', 'bob@example.com'),
('carol', 'carol@example.com');
```

## 3. 使用 SELECT 插入数据

从另一个表查询结果插入目标表：

```sql
INSERT INTO archive_users (id, username, email)
SELECT id, username, email FROM users WHERE status = 'inactive';
```

## 4. 忽略重复记录插入

避免因主键或唯一索引冲突导致错误：

* 使用 `INSERT IGNORE` 忽略冲突行：

```sql
INSERT IGNORE INTO users (id, username) VALUES (1, 'alice');
```

* 使用 `ON DUPLICATE KEY UPDATE` 实现冲突时更新：

```sql
INSERT INTO users (id, username)
VALUES (1, 'alice')
ON DUPLICATE KEY UPDATE username = VALUES(username);
```

---

INSERT 是向数据库添加数据的核心操作，灵活运用多种插入方式提升效率。
