`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` 语句的基本用法和注意事项。