【MySQL】创建外键的两种方式

目录

前言

1.创建表时增加外键

2.已存在表增加外键

参考资料


前言

使用MySQL关联数据表时,创建外键的两种方式:创建表时增加外键,已存在表增加外键。以下案例通过Navicat for MySQL实现。


1.创建表时增加外键

首先创建第一张被关联表Vendors商品供应商表。

-- 供应商列表
CREATE TABLE Vendors (
	-- 供应商ID:主键列,自增长
	vend_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '供应商ID',
	-- 供应商名:可变字符,非空
	vend_name VARCHAR (30) NOT NULL COMMENT '供应商名',
	-- 供应商地址
	vend_address VARCHAR (100) NOT NULL COMMENT '地址',
	-- 供应商城市
	vend_city VARCHAR (20) NOT NULL COMMENT '城市',
	-- 供应商州
	vend_state VARCHAR (20) NOT NULL COMMENT '州',
	-- 供应商邮编
	vend_zip VARCHAR (20) NOT NULL COMMENT '邮编',
	-- 供应商国家
	vend_country VARCHAR (20) NOT NULL COMMENT '国家'
);

然后创建第二张关联表Products产品表。

-- 产品目录表
CREATE TABLE Products (
	-- 产品ID:主键列,自增长
	prod_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
	-- 供应商ID:外键
	vend_id INT NOT NULL COMMENT '供应商ID',
	-- 产品名
	prod_name VARCHAR (30) NOT NULL COMMENT '产品名',
	-- 产品价格
	prod_price DOUBLE NOT NULL COMMENT '产品价格',
	-- 产品描述
	prod_desc VARCHAR (100) COMMENT '产品描述',
	FOREIGN KEY (vend_id) REFERENCES Vendors (vend_id)
);

可以看到已经通过外键关联起来。

2.已存在表增加外键

首先删除刚才两张表所创建的外键。

然后通过下面指令对已经存在的表增加外键。语法如下:

ALTER TABLE 表名 ADD FOREIGN KEY [外键名字] (外键字段) REFERENCES 父表 (主键字段);

-- 已存在表增加外键
ALTER TABLE Products ADD FOREIGN KEY products_vendors_fk_1 (vend_id) REFERENCES Vendors (vend_id);

可以看到添加外键成功。


参考资料​​​​​​​

  1.  MySQL增加外键的两种方式和案例
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值