MySQL 级联删除
1、创建数据库(create database ......)
①.查看本地有哪些已存在的数据库,避免新建数据库的时候与已存在的重复。

②.新建数据库(eg:创建一个名为test的数据库)

③.使用数据库才能进行下列的增删改查等操作

2、创建表(create table ...)
①. eg: 创建student、sno、sc表

②.查看表是否创建成功

③、查看表结构

注:primary key:表主键;forkeign key:表外键;constraint:约束条件;references:自那个表引用而来
3、插入数据(insert into ......values(.......))
给student表插入数据,其余两个表和这个表的插入语法一致,需要注意的是course表中有个自引用,插入的先行课需要该学生先学习此门课程才能插入。

4、删除数据(delete from 表名称 where 列名称 = 值)

eg: 删除学号为88的学生

5、修改数据(update 表名称 set 列名称 = 新值 where 列名称 = 某值)
eg:修改student表中的Sno=4的 Sname='demo'
6、查询数据(select .......)
1、编写SQL代码从student表列出所有CS系中姓张的同学的学号和姓名,结果按照sno大小排序。

2、编写SQL代码实现按年龄并区分男女统计各系人数,并按照人数升序进行排序。

3、编写SQL代码查询选修了拥有先行课课程的学生的学号和姓名。
distinct:消除重复数据





4、向sc表插入以下数据:
| Sno | Cno | Grade |
| 201215123 | 6 | 98 |
| 201215125 | 7 | 90 |
编写SQL代码查询选修了课程并且选修的课程都不拥有先行课程的学生学号和姓名。


5、查询每个系所获得的学分总和。

create table a
(
id varchar(20) primary key,
password varchar(20) not null
)create table b
(
id int identity(1,1) primary key,
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了,这就是级联删除
delete a where id='11'
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
