20171012 SQL外键约束
来源:互联网 发布:农村淘宝合伙人亏死 编辑:程序博客网 时间:2024/06/16 08:47
SQL FOREIGN KEY 约束
SQL FOREIGN KEY 约束
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
让我们通过一个例子来解释外键。请看下面两个表:
"Persons" 表:
"Orders" 表:
请注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。
"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
SQL FOREIGN KEY Constraint on CREATE TABLE
下面的 SQL 在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY:
MySQL:
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Orders(Id_O int NOT NULL PRIMARY KEY,OrderNo int NOT NULL,Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
)
SQL FOREIGN KEY Constraint on ALTER TABLE
如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE OrdersADD FOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE OrdersADD CONSTRAINT fk_PerOrdersFOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
撤销 FOREIGN KEY 约束
如需撤销 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL:
ALTER TABLE OrdersDROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
ALTER TABLE OrdersDROP CONSTRAINT fk_PerOrders
阅读全文
0 0
- 20171012 SQL外键约束
- sql 外键约束
- sql 外键约束
- SQL 外键约束
- sql 外键约束
- SQL - 外键约束
- SQL约束(主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)
- SQL 外键约束理解
- SQL删除外键约束
- SQL Server 外键约束
- Sql 多重外键约束
- [MS SQL]外键约束
- My SQL外键约束
- sql语句,外键约束
- sql server中的外键约束
- sql server中的外键约束
- SQL Server-- 外键约束方式
- SQL Server 外键约束的例子
- 基于Halide的图像处理应用CPU-FPGA异构计算加速
- ocata lbaas-dashboard安装
- 2.redis 连接远程
- 盒子模型之爱奇艺播放列表
- Oracle修改字段类型
- 20171012 SQL外键约束
- ANSI Common Lisp译本笔记7
- kylin官方给出的优化 以及各个步骤容易出现的问题
- 获取定位,获取屏幕
- HDU
- spring cloud踩坑日志(3)-多环境配置文件用法
- 监听多个EditText,只有当它们都有输入后,相应Button才能被点击
- 3.打包压缩命令总结
- 马云:阿里巴巴必须成为国家和世界创新的发动机