1.数据更新

1.1.插入数据

SQL的数据插入语句INSERT通常有两种形式子查询不仅可以嵌套在SELECT语句中,用以构造父查询的条件(如3.3.3节所述),也可以嵌套在INSERT语句中,用以生成要插入的批量数据

插入子查询结果的INSERT语句的格式为:

INSERT

INTO<表名>[(<属性列1>[,<属性列2>…])

子查询:

例3 对每一个系,求学生的平均年龄,并把结果存入数据库

首先在数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄

CREATE TABLE Deptage

(Sdept CRAR(15)

Avgage SMALLINT),

然后对Student表按系分组求平均年龄,再把系名和平均年龄存入新表中

INSERT

INTO Deptage(Sdept,Avgage)

SELECT Sdept,AVG(Sage)

FROM Studem

ROUP BY Sdept;playpausestop

插入单个元组的INSERT语句的格式为:

INSERT

INTO<表名>[(<属性列1>[,<属性列2>…])

VALUES(<常量1>[,<常量2>]…);

其功能是将新元组插入指定表中其中新记录属性列1的值为常量1,属性列2的值为常量2,…INTO子句中没有出现的属性列,新记录在这些列上将取空值但必须注意的是,表定义时说明了NOT NULL的属性列不能取空值否则会出错

如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值

例1 将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中

INSERT

INTO Student

VALUES('95020','陈冬','男','IS',18);

例2 插入一条选课记录(950217,q,)',

INSERT

INTO SC(Sno,Cno)

第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页