MySQL-外键

创建外键

#年级表(id 年级名称
CREATE TABLE IF NOT EXISTS grade(
 	gradeid INT(10) PRIMARY KEY AUTO_INCREMENT,
 	gradename VARCHAR(50) NOT NULL
);
  1. 创建外键的方式一、创建子表的同时创建外键
#学生信息表
#(学号,姓名,性别,年级,手机号,地址,出生日期,邮箱,身份证号)
CREATE TABLE IF NOT EXISTS student( 
	 studentid INT(4) PRIMARY KEY AUTO_INCREMENT,
	 studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	 sex TINYINT(1) DEFAULT 1,
	 gradeid INT(10) ,
	 phone VARCHAR(12) NOT NULL,
	 address VARCHAR(100) COMMENT '家庭住址',
	 birthday DATETIME COMMENT '出生日期',
	 email VARCHAR(20) COMMENT 'email',
	 identityCard  VARCHAR(18) NOT NULL,
	 CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid)
);
  1. 创建外键的方式二、创建子表完毕后,修改子表添加外键
CREATE TABLE IF NOT EXISTS student( 
	 studentid INT(4) PRIMARY KEY AUTO_INCREMENT,
	 studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	 sex TINYINT(1) DEFAULT 1,
	 gradeid INT(10),
	 phone VARCHAR(12) NOT NULL,
	 address VARCHAR(100) COMMENT '家庭住址',
	 birthday DATETIME COMMENT '出生日期',
	 email VARCHAR(20) COMMENT 'email',
	 identityCard  VARCHAR(18) NOT NULL
);
#添加外键
ALTER TABLE student ADD 
CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);
#添加约束   约束名字  约束为外键 gradeid这一列 引用于grade表中的gradeid
  1. 删除外键
ALTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;#删除索引
  1. 删除表

注意:删除有主外键的表时,先删子表,后删父表

#删除表DROP TABLE IF EXISTS 表名;
DROP TABLE IF EXISTS grade;
DROP TABLE IF EXISTS student;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值