SQL中数据的插入、删除、更新

本文详细介绍了SQL中的基本操作,包括如何插入数据,如使用指定值的元组和子查询结果;如何删除数据,如删除特定条件的记录;以及如何更新数据,如调整工资或修改成绩。每个操作都配以实例进行说明。

1. 插入操作

1.1 命令

(1)插入一条指定好值的元组

insert into table_name (column1, column2, column3, ...)
values (value1, value2, value3, ...);

如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。
(2)插入子查询结果中的若干条元组

insert into table_name (column1, column2, column3, ...)
子查询;
1.2 例子
  • 例1
insert into PROF
values("P123","王明",35,"D08",498)
insert into PROF(PNO,PNAME,DNO)
values("P123","王明","D08")
  • 例2

将平均成绩大于90的学生加入到EXCELLENT中

insert into EXCELLENT(SNO,GRADE)
	select SNO,avg(GRADE)
	from SC
	group by(SNO)
	having avg(GRADE)>90

2. 删除操作

2.1 命令
delete from table_name
WHERE 条件表达式;
2.2 例子
  • 例1

删除王明老师所有任课记录

delete from PC
where PNO in
	(select PNO
	from PROF
	where PNAME = "王明")
  • 例2

删除低于平均工资的老师记录

delete from PROF
where SAL < 
	(select avg(SAL)
	from PROF)

3. 更新操作

3.1 命令
update table_name
set column1 = value1/表达式1, column2 = value2/表达式2, ...
where 条件表达式;
3.2 例子
  • 例1

老师工资上调5%。

update PROF
set SAL = SAL*1.05
  • 例2

将D01系系主任的工资改为该系的平均工资

update PROF
set SAL = (select avg(SAL)
		from PROF
		where DNO = D01)
where PNO = (select DEAN 
			from DEPT
			where DNO = D01)
  • 例3

当C1课程的成绩小于该课程的平均成绩时,将该成绩提高5%。

update SC
set GRADE = GRADE*1.05
where CNO = C1
and GRADE < (select avg(GRADE)
			from SC
			where CNO = C1)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值