5.21日晚- mysql习题二(接上一题)*添加外键

该博客详细介绍了如何在MySQL中进行数据库操作,包括创建`staffinfo`、`department`和`worker`表,添加外键约束,以及后续的外键和索引的删除操作。在创建`worker`表时,特别提到了添加外键约束的代码,并展示了删除外键约束的步骤,最后讨论了表的删除顺序,强调了先删除依赖表的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目如下:

a8a9d7309ede4a818e6d78b4fd6de18a.png

 1.查看数据库(此表仍需在staffinfo中创建,上一题我已创建好,步骤请参考:create table staffinfo)

92a89c4dd34a49e386e3d76ac6bd6911.png

 2.使用staffinfo数据库:需要在其下创建表

67ea20eee9084517b3403e346cb99eea.png

 3.创建department表

f05927a5ccfe4766a5acb8a1146e452f.png

 4.创建worker表

3b6fdd99041d434f96eb4762607a5e16.png

 5.查看所创表是否成功

0d169f41b0854338a2942c6fa1d45892.png

 6.添加外键(由于电脑问题无法直接在创建表时添加外键,所以创建表后再添加外键)

e342ed9847cd4977b6d2ecef91152991.png

84813933712f42c6b1a4b9590c2ca7ff.png

 *其中:红色为从表表名,黄色为外键约束名称(即需要添加外键名称),蓝色为主表表名(即在作用数据库下第一个所创建的表),黄绿色为列名

 

7.删除外键约束(由于电脑问题无法同时删除外键与索引,所以我分步进行,这步则为删除外键,可以看到删除完以后仍有外键标识符:MUL,这为索引)

c86844cff430424889b547e10cc7e051.png

 8.删除索引

f312836c35994989a1f4e1816ff5c65d.png

 9.查看worker表外键约束是否删除成功(可以通过下图看到删除成功)

444ce4bf99d44122962b4ea984dcf020.png

 10.删除department表(由于department下还有个从表worker,所以应先删除worker表再删除department表),并查看

b6264d3f2cf0486189b4962aae8e247a.png

 

创建department表与worker表代码如下:

CREATE TABLE department(
d_id INT(4) not null UNIQUE PRIMARY key,
d_name VARCHAR(20) not null UNIQUE,
function VARCHAR(50) ,
address VARCHAR(20));


CREATE TABLE worker(
id INT(4) not null UNIQUE PRIMARY key auto_increment,
num INT(10) not null UNIQUE,
d_id INT(4),
name VARCHAR(20) not null,
sex VARCHAR(4) not null,
birthday DATE,
address VARCHAR(50),
constraint department_did foreign key(d_id)references department(d_id));

在创建表时添加外键的删除外键约束方法:
alter table worker drop Foreign key department_did;
drop table department;

没有添加外键约束的worker表:
CREATE TABLE worker(
id INT(4) not null UNIQUE PRIMARY key auto_increment,
num INT(10) not null UNIQUE,
d_id INT(4),
name VARCHAR(20) not null,
sex VARCHAR(4) not null,
birthday DATE,
address VARCHAR(50)
);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值