SQL中如何用一条语句删除一个学生(学生编号为040101)的信息以及选课信息命令代码是什么

SQL中如何用一条语句删除一个学生(学生编号为040101)的信息以及选课信息命令代码是什么,第1张

假如你的 外键关系,

是 DELETE CASCADE 方式 的,

那么, 删除 主表的数据的时候, 数据库 会自动 删除掉 子表里面的数据

不需要额外写任何代码

1> -- 创建外键(使用 ON DELETE CASCADE 选项,删除主表的时候,同时删除子表)

2> ALTER TABLE test_sub

3> ADD CONSTRAINT main_id_cons

4> FOREIGN KEY (main_id) REFERENCES test_main ON DELETE CASCADE;

5>

6> -- 测试删除主表数据 将成功地执行

7> DELETE

8> TEST_MAIN

9> WHERE

10> ID = 1;

11>

12> -- 测试检索子表,应该只有一条 main_id = 2 的数据

13> SELECT

14>

15> FROM

16> test_sub;

17>

18> go

(1 行受影响)

id main_id value

----------- ----------- ----------

2 2 TWOTWO

(1 行受影响)

第一题:

CREATE FUNCTION func_学生信息( @sex char(2),@dept varchar(8))

RETURNS table

as

return(

select sno,sn,sex, dept

from s

where sex=@sex and dept=@dept)

对应例子:declare @sex char(2),@dept varchar(8)

set @sex ='男'

set @dept='IS'

select from func_学生信息(@sex,@dept)

第二题:

create proc max_z( @i int,@j int,@max int output)

as

if (@i>@j)

set @max=@i

else

set @max=@j

select @max as '最大值'

对应例子:declare @ii int ,@jj int,@maxx int

exec max_z 80,120, @maxx output

第三题:

create trigger course_delete

on course

after delete

as

if exists(select from sc where cno=(select cno from deleted))

rollback

对应例子:delete

from c

where cno='c6'

第四题:

use basetest

select scsno,sn,cn,score

from s,c,sc

where ssno=scsno and ccno=sccno and dept='IS'

第五题:

select s

from s

where age<(select min(age)

from s

where dept='IS')

and (dept<>'IS')

第六题:

select sno,count(cno) as 选课门数

from sc

where cno is not null

group by sno

没必要写触发器或者事务。

分俩步走。 第一,查询sc表 Sno=95001 存在4个元组的 Sno插入到一个临时表中

然后

delete student

where sno=95001 and (select count(1) from 临时表 where sno=95001)>0

用 SQL 的 DDL 语言创建 S 表,SNo 为主键,SN 不能为空。 CREATE TABLE S1 ( SNo CHAR(6) NOT NULL CONSTRAINT PK_S PRIMARY KEY, SN CHAR(6) NOT NULL, Sex CHAR(2), Age INT, Dept CHAR(20) );

创建计算机系学生的视图,该视图的属性列由学号、姓名、课程号和任课教师号组成。 CREATE VIEW FROM WHERE AND AND S,SC,TC SSNo = SCSNo SCCNo=TCCNo SDept = '计算机'; V_COMS(SN0,SN,CNo,TNo) AS SELECT SSNo, SN, SCCNo, TNo

3检查计算机系年龄在 20 岁以上的学生学号。 SELECT SNo FROM S WHERE Age >20 AND Dept = '计算机';

4检索姓王的教师所讲课程的课程号及课程名称。 SELECT TCCNo, WHERE AND AND CN FROM T, TC, C TTNo = TCTNo TCCNo = CCNo TTN LIKE '王%';

5 检索张三同学所学课程的成绩、列出 SN,CNo 和 Score。 SELECT SN, SCCNO, FROM WHERE AND S, SC SSNo = SCSNo SN = '张三'; Score

6 检索总收入超过 1000 元的教师所讲课程的学生姓名、课程号和成绩。 SELECT FROM WHERE AND AND AND SN, SCCNo, Score S, SC, TC, T SSNo = SCSNo SCCNo = TCCNo TCTNo = TTNo (COMM + SAL ) > 1000;

8S1 同学选修了 C3,将此信息插入 SC 表中。 INSERT INTO 或 INSERT SC VALUES('S1','C3',null) SC(SNo,CNo) VALUES('S1','C3') INTO

10删除 S 表中没有选修任何课程的学生记录。 DELETE FROM S WHERE SNo NOT IN( SELECT DISTINCT SNO FROM SC );

MySQL删除数据库

删除数据库是将已经存在的数据库从磁盘空间中清除,连带着数据库中的所有数据也全部被删除。

MySQL删除数据库的基本语法格式如下:

其中“db_name”是要删除的数据库名称,如果指定数据库名不存在,则删除出错。

例子:删除数据库

删除数据库shulanxt,输入语句如下:

执行上述语句,数据库shulanxt被删除。

以上就是关于SQL中如何用一条语句删除一个学生(学生编号为040101)的信息以及选课信息命令代码是什么全部的内容,包括:SQL中如何用一条语句删除一个学生(学生编号为040101)的信息以及选课信息命令代码是什么、急:关于数据库的问题,急解答。、学生-课程数据库中,若要删除student关系中Sno=95001的元组,而sc又有4个元组的Sno=95001,可用哪几策略等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9541738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存