MySQL----FOREIGN KEY约束

外键约束

FOREIGN KEY: 一个表中的外键指向另一个表中的主键

FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

外键列对应的表中的主键列必须是建立了索引

通过 CREATE TABLE 语句规定约束条件:
  1. 创建FOREIGN KEY约束:
	CREATE TABLE  表名
	(
		列名1 数据类型 NOT NULL,--列名1不可为null值--
		列名2 数据类型,
	 	...
	 	PRIMARY KEY(列名1)
	 	FOREIGN KEY(列名2) REFERENCES 表名(列名2)
	);
  1. 创建FOREIGN KEY约束
CREATE TABLE 表名
(
	列名1 数据类型 NOT NULL,
	列名2 数据类型,
	列名3 数据类型 NOT NULL,
	...
	CONSTRAINT 约束名 FOREIGN KEY(列名1) REFERENCES 表名(列名);
);
当表已经被创建时,使用ALTER TABLE创建FOREIGN KEY约束:
  1. 创建FOREIGN KEY约束:
ALTER TABLE 表名
ADD FOREIGN KEY(列名) REFERENCES 表名(列名)
  1. 创建FOREIGN KEY约束:
ALTER TABLE 表名 
ADD CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 表名(列名)

查看所有的约束名

SHOW INDEX FROM 表名;
删除FOREIGN KEY约束
ALTER TABLE 表名 
DROP INDEX 约束名 ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值