SQL语言综合---insert、add、select、update-set、view、procedure、trigger

  1. 利用insert语句插入元组:
insert into S	
values('030920311','王平','男',20,'计算机'),
('050620312','张三','男',19,'软件工程'),
('030920314','李林','女',18,'物联网');
insert into C	
values('C01','数据库系统原理',4),
('C02','软件工程',2),
('C03','计算机组成原理',3);
insert into SC	
values('030920311','C01',85),
('050620312','C02',78),
('030920314','C03',86);
  1. 为“S”表增加约束,约束名为con1,年龄在18~21之间:
alter table S
add
constraint con1 check(age between 18 and 21)
  1. 查询物联网系的女生姓名和年龄:
select sname,age
from S
where dept='物联网' and sex='女'

查询选修了“软件工程”课程的学生的学号,姓名和成绩:

select S.sno,sname,grade
from S join SC on S.sno=SC.sno
where cno in
(
select cno
from C
where cname='软件工程'
)
  1. 将课程号为“C01”的课程更名为“数据库原理及应用”:
update C
set cname='数据库原理及应用'//update-set 更新设置
where cno='C01'
  1. 建立一个视图,视图名为v1,作用是查询计算机系的学生的学号、姓名和成绩的视图:
create view V1
as
select S.sno,sname,grade
from S join SC on S.sno=SC.sno
where dept='计算机'
  1. 创建一个名称为P1的存储过程,该存储过程的功能是从学生表中查询指定学号学生的姓名、年龄、选修的课程号和成绩。并执行该存储过程,查询学号为030920314的学生姓名,年龄:
create procedure p1 @sno nchar(20)
as
select sname,age,SC.cno,grade
from S join SC on S.sno=SC.sno
where S.sno=@sno

exec p1 '030920314'
  1. 创建一个触发器t1,在C表中删除某一个课程的信息时,在SC表该课程的信息也全部被删除:
create trigger t1
on C
after delete
as 
delete from SC
where SC.cno in
(
select cno
from deleted//在delete数据的时候,可以假定数据库将要删除的数据放到一个deleted临时表中,我们可以向读取普通的表一样,select 字段 from deleted 而insert的时候道理一样,只不过是把要插入的数据放在inserted表中。
)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值