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'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值