SQL数据库建表时怎么设置外键

SQL数据库建表时怎么设置外键,第1张

应该是可以在sql

server2000的企业管理器里面直接 *** 作添加外键的。

应该在一个表的设计界面,选中一行,点鼠标右键,选关系,然后选外键。

好久没有用2000了,呵`~不是很记得,lz多试两下就出来了`~

alter

table

表名

add

constraint

外键名称

foreign

key

(外键)

references[主键表名](引用列),

找到你要用的表,右键修改(有的版本是设计),先添加外键表ID。然后在字段空白处随便地方点右键,选择关系,点添加,然后选择常规里面的表和列规范,在那一栏的右边的小点点处点一下,d出一个主外键界面,选择好主键表和外键ID,外键表就是你当前 *** 作的默认表,外键ID是外键表的主键。点确定就可以,这样主外键关系就已经建立成功了!

记住一点,主键表里是外键ID,外键表里是主键ID,这样你就不会选择错误了。

可以先添加字段,然后再在字段上建立外键,分以下两步:

如表名为sc,其中添加一个字段为sid,是student表中sid的外键,可用以下语句:

1、

alter table sc add sid varchar(20);

2、

alter table sc add constraint fk_sid foreign key (sid) references student(sid);

外键含义:

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。

1、首先双击SQLyogEnt的快捷方式以打开软件;

2、进入到软件首页,首先创建一个新的数据库,命令为newMysql;

3、创建两个表,命令为class、student;

class表结构为id、class_code、class_name;

student表结构为id、class_code、student_code、student_name;

4、创建成功后,在newMysql数据库列表中就存在了两个表;

5、然后我们来创建外键;通过sql创建:alter table class add foreign key class_foreignKey(id) references student(id);

6、然后也可以对外键进行删除处理;通过sql删除:ALTER TABLE class DROP FOREIGN KEY class_foreignKey;

创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的。

建外键的前提是此外键必须是另外一个表的主键。建外键的步骤:

第一步、打开要建外键表的设计器,右击选择“关系”。

第二步、然后d出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮。

第三步、d出另外一个窗体让我们选择主键表和列,记住要选择相同的,选好之后点击确定。

第四步、展开INSERT和UPDATE规范,在更新规则和删除规则有四个选项,分别是“不执行任何 *** 作”、“级联”、“设置为NULL”、“设置默认值”。

默认的不执行任何 *** 作。如果是“不执行任何 *** 作”,当我们删除或更新主键表的数据时,会告诉用户不能执行删除或更新该 *** 作。

“级联”的意思是当我们删除或更新主键表的数据时,会删除或更新外键表中所涉及的相关数据的所有行。

“设置Null”的意思是当我们删除或更新主键表的数据时,外键表中的外键列的值会设为Null,但前提是该列允许为空。

“设置默认值”的意思是如果我们将外键列定义了默认值,当我们删除或更新主键表的数据时,外键表中的外键列的值设为定义的默认值。

当然也可以用代码创建,在创建数据库表T——Card时只要加上一句代码就可以了。“Foreign key (studentNo) references T_Student(studentNo)"。如果已经创建了改表,那如何用代码实现了,这也很简单也就一句代码“ add constraint CMPKey(外键名) foreign key(studentNo) references T_Student(studentNo)”。

以上就是关于SQL数据库建表时怎么设置外键全部的内容,包括:SQL数据库建表时怎么设置外键、数据库中的表怎样设置外键又怎样才能看出已经是外键了、sql server 中 在已经有的数据表中,如何添加一列外键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10152772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存