外键约束

外键约束

外键约束是确保表中数据正确性的一个手段,它经常与主键约束一起使用。外键约束是用来约束两个表中数据的一致性的。

1、  在创建表时为其设这外键约束语法如下:

“ALTER TABLE table_name

Column_name1datatype,

Column_name2 datatype,

Column_name3 datatype

CONSTRAINT fk_name FOREIGN KEY(列表1) references  table_name1(列表2)

);”*这里,fk_name是外键约束的名称,列名1是设置外键约束的列,table_name1是父表的名字,列名2是父表中主键列。

【示例2】创建客房类型信息表(typeinfo),在创建客房信息表(roominfo),并为其中房间类型(roomtype)列创建外键约束。

编号

列名

数据类型

中文释义

约束

1

RoomtypeID

Interger

房间类型

主键约束

2

Roomtype

Varchar20

房间类型名称

 

创建客房类型信息表的代码如下所示:

 “CREATE TABLE TYPEINFO

(

ROOMTYPEID INT PEIMARY KEY

ROOMTYPE VACHAR(20)

);”

 

创建客房信息表(Roominfo)时为房间类型(Roomtype)列添加外键约束的代码如下:

 CREATE TABLE TYPEINFO

(

ROOMID INT PRIMARY KEY,

ROOMTYPEID INT,

ROOMPRICE NUMERIC(72),

ROOMSTATE VARCHAR(2),

PEMARK VARCHAR(200),

CONSTRAINT PK_ROOMINFO   FOREIGN   KEY(ROOMID)     REFFERENCES

TYPEINFO(ROOMTYPEID)

);

在修改表时添加外键约束

 外键约束也可以在修改表时添加,但是添加外键约束的前提是设置外键约束的列中的数据必须与引用的主键表中字段一致或者是没有数据。

在修改表时添加外键外键约束的语法如下:

CREATE TABLE table_name

ADD CONSTRAINT fk_name  FOREIGN KEY(列名1REFERENCES  table_name2(列表2)  *这里,fk_name是外键约束的名称,列名1table_name1中设置外键约束的列;table_name2是父表的名字;列名2是父表中的主键列。

【示例1】假设客房信息表(ROOMINFO)已经存在,现要为客房信息表(RoomInfo)中房间类型编号列(RoomTypeId)添加外键约束,使其引用房间类型表(TypeInfo)中房间类型编号列(RoomTypeId)。

代码如下:

  ALTER TABLE RoomInfo

ADD CONSTRAINT fk_name roomtypeid FORRIGN KEY(RoomTypeId) REFERECES

TypeInfo(RoomTypeId)

删除外键约束

  当一个表中不需要外键约束时,就需要从表中将其删除。删除外键约束的方法要比创建外键约束容易多,删除外键约束的语法如下所示:

  ALTER TABLE table_name

DROP FOREIGN  KEY FK_NAME;

这里,FK_NAME是外键约束的名字,下面示例来演示如何删除主键约束。

【示例1】删除客房信息表(RoomInfo)中外键约束fk_roomtypeid.

ALTER TABLE ROOMINFO

DROP FOREIGN KEY FK_ROOMTYPEID;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29272216/viewspace-1243680/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29272216/viewspace-1243680/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值