【数据库作业9】SQL练习6 - INSERT / UPDATE / DELETE / NULL / VIEW

这篇博客详细介绍了如何使用SQL进行数据插入、更新和删除操作,包括单个元组和多个元组的修改,以及带子查询的更新。同时,讲解了视图的创建、查询和更新,强调了视图作为数据抽象层的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据更新

对表操作

CREAT、ALTER、DROP

对数据操作

INSERT、UPDATE、DELETE

插入数据——INSERT

①插入元组:语句格式:INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)] VALUES (<常量1> [,<常量2>]… );

可以将每个属性名都列出来,属性值与之相对应;也可以不全部列出,只按照顺序列出属性值,没有的写作NULL即可。
对于外码,可以先设为NULL,确定后再进行修改。外码会受到限制,外码要么为空,要么源自于被参照关系的主码。

【例3.69】将一个新学生元组(学号:201215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。

INSERT 
INTO Student(Sno,Sname,Ssex,Sdept,Sage)
VALUES('201215128','陈冬','男','IS',18);

【例3.70】将学生张成民的信息插入到Student表中。

INSERT 
INTO Student
VALUES('201215126','张成民','男',18,'CS');
//注意,INTO 不加属性名会按表中属性顺序插入

在这里插入图片描述

【例3.71】插入一条选课记录( ‘201215128’,'1 ')。

INSERT 
INTO SC
VALUES ('201215128','1',NULL);

插入数据-插入子查询结果

②插入子查询结果:(要插入的内容在其他的表中有数据)
语句格式:INSERT
INTO <表名> [(<属性列1> [,<属性列2>… )]
子查询;
子查询SELECT子句目标列必须与INTO子句在值的个数和值的类型上匹配

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

//第一步:建个表
	CREATE TABLE Dept_age
			(Sdept CHAR(15),
			 Avg_age SMALLINT);


//第二步:使用子查询,先将学生按系分组求得平均年龄,然后再将其插入
	INSERT
    INTO  Dept_age(Sdept,Avg_age)
  		  SELECT  Sdept,AVG(Sage)
          FROM     Student
          GROUP BY Sdept;



结果:

在这里插入图片描述

修改数据(UPDATE)

UPDATE  <表名>	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值