sql表的插入、修改和删除

本文介绍了SQL中的数据操作,包括如何插入完整或部分属性的元组到表中,使用子查询进行批量插入,更新表中元组的特定属性,以及删除指定条件的元组。此外,还讲解了处理空值的方法。示例涵盖了学生信息管理和选课记录的维护,是数据库管理的基础操作。

数据的插入

插入元组

基本语法

insert 
into <表名> [属性列] 
values(常量1,2)

into 指定要插入数据的表名及属性列,属性列的顺序可与表中定义的不一致

没有指定属性列的话,表示插入的是一条完整的元组,且属性列属性与表中定义的顺序一致

指定部分属性列的话,插入元组在其余属性列上取空值

values子句提供的值必须与into子句的个数类型一致

--将一个新学生记录(学号:201215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中
insert into Student(Sno,Sname,Ssex,Sdept,Sage)
values('201215128','陈冬','男','IS',180)--将学生张成民的信息插入到Student表中
insert into Student
values('201215126', '张成民', '男', 18, 'CS');
插入子查询结果
insert into <表名> [<属性列1>]
子查询

子查询的结果必须包含和insert的字段列表一样多的字段,并且数据类型兼容

--对每一个系,求学生的平均年龄,并把结果存入数据库
--建表
create table Deptage
	(Sdept char(15),
    Avgage smallint);
--插入数据
insert into Deptage(Sdept,Avgage)
	select Sdept avg(Sage)
	from Student
	group by Sdept;

数据的修改

基本语法

update <表名>
set 类名=表达式
where 条件

set子句:指定修改方式,要修改的列,修改后的值

where子句:指定要修改的元组,没有写则表示修改表中所有元组

--将学生2012315的年龄改成22岁
update Student
set Sage =22
where Sno='2012315';
--将所有学生的年龄增加1岁
update Student
set Sage =Sage+1;
--将计算机科学系全体学生的成绩置0,用到子查询
update SC
set Grade = 0
where 'CS'=
	(select sdept
    from Student
    where Student.Sno=SC.Sno);

数据的删除

delete
from 表名
where 条件

where子句 指定要删除的元组,不行则表示要删除表中所有的元组

--删除学号为201215128的学生记录
delect
from Student
where Sno='201215128';
--删除所有学生的选课记录
delect
from SC
--删除计算机科学系所有学生的选课记录
delect
from SC
where 'CS'=
	(select sdept
    from Student
    where Student.Sno=SC.Sno);
空值的处理

空值为不知道,不存在或无意义的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值