热门关键字:  项目经理  分析师  CEO  中间件  报名费





数据更新:插入数据

来源: 作者: 时间:2008-03-16 点击:
一、 插入单个元组
  插入单个元组的INSERT语句的格式为:

INSERT
INTO <表名> [(<属性列1>[,<属性列2>...)]
VALUES (<常量1> [,<常量2>]...)

如果某些属性列在INTO子句中没有出现,则新记录在这些列上将取空值。但必须注意的是,在表定义时说明了NOT NULL的属性列不能取空值。否则会出错。
  如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。
例1

将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入Student表中
  INSERT
INTO Student
VALUES ('95020', '陈冬', '男', 'IS', 18);
例2 插入一条选课记录('95020','1')
  INSERT
INTO SC(Sno, Cno)
VALUES ('95020', '1');

新插入的记录在Grade列上取空值。
二、 插入子查询结果
  子查询不仅可以嵌套在SELECT语句中,用以构造父查询的条件(如3.3.3节所述),也可以嵌套在INSERT语句中,用以生成要插入的数据。
  插入子查询结果的INSERT语句的格式为:

INSERT
INTO <表名> [(<属性列1> [,<属性列2>...)]
子查询;

其功能是以批量插入,一次将子查询的结果全部插入指定表中。
例3 对每一个系,求学生的平均年龄,并把结果存入数据库
 
 

对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。
CREATE TABLE Deptage
      (Sdept CHAR(15)
       Avgage SMALLINT);

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

INSERT
INTO Deptage(Sdept, Avgage)
      SELECT Sdept, AVG(Sage)
      FROM Student GROUP BY Sdept;





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
企业电子商务

赞助商