网站首页 网站地图

insert

时间:2026-03-23 20:24:41

`INSERT INTO` 是 SQL 中用于向数据库表中添加新记录的语句。以下是 `INSERT INTO` 语句的基本语法和用法:

基本语法

省略列名写法

```sql

INSERT INTO table_name VALUES (value1, value2, ...);

```

适用于插入一行数据,且数据顺序与表中的列顺序相同。

指定列名写法

```sql

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

```

可以指定要插入数据的列,数据顺序与列名顺序可以不同。

插入查询结果写法

```sql

INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM another_table WHERE condition;

```

可以将查询结果插入到指定的表中。

注意事项

确保插入的数据类型与表中相应列的数据类型相匹配。

如果表中的某些列不允许为空,需要提供默认值或使用 `NULL` 进行填充。

当省略目标表的列名时,默认会对目标表的全部列进行数据插入,且 `SELECT` 后面的列的顺序必须和目标表中的列的定义顺序完全一致。

示例

```sql

-- 省略列名写法

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('John Doe', 'John@example.com', '123 Main St', 'New York', '10001', 'USA');

-- 指定列名写法

INSERT INTO Customers (Name, Contact, Address, City, Zip, Country) VALUES ('Jane Smith', 'Jane@example.com', '456 Elm St', 'Los Angeles', '90001', 'USA');

-- 插入查询结果写法

INSERT INTO Orders (OrderID, ProductID, Quantity) SELECT OrderID, ProductID, Quantity FROM OrderDetails WHERE Status = 'Shipped';

```

以上是 `INSERT INTO` 语句的基本用法和注意事项。