【摘要】:插入单个元组插入单个元组的INSERT语句的格式为:INSERTINTO<表名>[(<属性列1>[,<属性列2>…如果INTO子句中没有指定任何列名,则新插入的记录必须在每个属性列上均有值。INSERTINTO StudentVALUES;插入一条选课记录。)]子查询;该语句的功能是将子查询的结果以批量形式插入指定表中。对每个系求学生的平均年龄并把结果存入数据库。先建一个新表Deptage,包含系名和平均年龄两个属性列,然后从Student表中查询每个系学生的平均年龄并将其插入新建的表中。
INSERT语句有两种形式:一种是插入单个元组,另一种是插入子查询结果。
(1)插入单个元组
插入单个元组的INSERT语句的格式为:
INSERT
INTO<表名>[(<属性列1>[,<属性列2>…)]
VALUES(<常量1>[,<常量2>]…);
如果某些列在INTO子句中没有出现,则新记录在这些列上将取空值,但声明了NOT NULL的属性列不能取空值。
如果INTO子句中没有指定任何列名,则新插入的记录必须在每个属性列上均有值。
【例6.32】 将一个新学生记录(学号:070601112;姓名:张亮;性别:男;所在系:建筑工程;年龄:18)插入Student表中。
INSERT
INTO Student
VALUES(′070601112′,′张亮′,′男′,′建筑工程′,18);
【例6.33】 插入一条选课记录(学号:070601112;课程号:2)。
INSERT
INTO SC(Sno,Cno)
VALUES(′070601112′,′2′);
(2)插入子查询结果(www.chuimin.cn)
插入子查询结果的INSERT语句的格式为:
INSERT
INTO<表名>[(<属性列1>[,<属性列2>]…)]
子查询;
该语句的功能是将子查询的结果以批量形式插入指定表中。
【例6.34】 对每个系求学生的平均年龄并把结果存入数据库。
先建一个新表Deptage,包含系名(Sdept)和平均年龄(Avgage)两个属性列,然后从Student表中查询每个系学生的平均年龄并将其插入新建的表中。具体语句如下:
CREATE TABLE Deptage
(Sdept CHAR(15)
Avgage SMALLINT);
INSERT
INTO Deptage
SELECT Sdept,AVG(Sage)
FROM Student
GROUP BY Sdept;
相关推荐