MySQL外键的创建

mysql的外键创建方式有两种,一种是在创建子表的同时创建外键,另一种时在创建完子表后,修改子表添加外键。

#创建外键方式一:创建子表的同时创建外键
#年级表(id\年级名称)

CREATE TABLE IF NOT EXISTS grade(
	gradeid INT(10) PRIMARY KEY AUTO_INCREMENT,
	gradename VARCHAR(50) NOT NULL
);

#学生信息表(学号、姓名、性别、年级、手机号、地址、出生日期、邮箱、身份证号)
CREATE TABLE student(
	studentno INT(4) PRIMARY KEY,
	studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	sex TINYINT(1) DEFAULT 1,
	gradeid INT(10),
	phone VARCHAR(50) NOT NULL,
	address VARCHAR(255),
	borndate DATETIME,
	email VARCHAR(50),
	identityCard VARCHAR(18) NOT NULL,
	CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid)
);


#创建外键方式二:创建子表完毕后,修改子表添加外键
CREATE TABLE student(
	studentno INT(4) PRIMARY KEY,
	studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	sex TINYINT(1) DEFAULT 1,
	gradeid INT(10),
	phone VARCHAR(50) NOT NULL,
	address VARCHAR(255),
	borndate DATETIME,
	email VARCHAR(50),
	identityCard VARCHAR(18) NOT NULL
);
#修改子表添加外键
ALTER TABLE student
ADD CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);


#删除外键

ALTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;

注意:删除具有主外键关系的表时,要先删子表,后删主表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值