详解SQL Server的INSERT语句

发布时间:2023-05-24

一、INSERT语句的基本用法

INSERT语句用于向SQL Server数据库中添加新的行。 语法如下:

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

其中,table_name 是要插入数据的表名,括号中的 column1, column2, column3 等表示要插入数据的列,VALUES 后面的 value1, value2, value3 等表示要插入的数据。 例如,插入新的学生信息:

INSERT INTO students (id, name, gender, age) 
VALUES (1, '张三', '男', 20);

其中,students 是表名,idnamegenderage 是表中的列名,1'张三''男'20 表示要插入的数据。

二、插入多行数据

如果要插入多行数据,可以使用 VALUES 后面跟多组值的方式。 例如,插入三个学生的信息:

INSERT INTO students (id, name, gender, age) 
VALUES 
(1, '张三', '男', 20),
(2, '李四', '女', 21),
(3, '王五', '男', 22);

其中,VALUES 后面跟了三组值,每组值用逗号隔开,表示要插入三条记录。

三、插入查询结果

除了手动输入要插入的值,还可以将查询结果插入到表中。 例如,从另一张表中查询出年龄小于 25 岁的学生,并将他们插入到 students 表中:

INSERT INTO students (id, name, gender, age) 
SELECT id, name, gender, age 
FROM temp_students 
WHERE age < 25;

其中,INSERT INTO 后面跟的是要插入的表名和列名,SELECT 后面查询的是要插入的数据,FROM 后面是查询的表名,WHERE 后面表示查询条件。

四、插入默认值

如果某些列的值都是默认值,可以使用 DEFAULT 关键字来表示默认值。 例如,插入一条只有姓名和性别的学生信息,并给年龄和 id 赋默认值:

INSERT INTO students (name, gender) 
VALUES ('赵六', '男', DEFAULT, DEFAULT);

其中,DEFAULT 表示默认值。

五、总结

以上是 SQL Server 的 INSERT 语句的基本用法,包括插入单行数据、插入多行数据、插入查询结果以及插入默认值。