当前位置:   article > 正文

SQL学习(二)主键、外键_sql设置外键代码

sql设置外键代码

什么是主键?

        关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

什么是外键?

        其他表的主键称为外键。

外键取值规则:空值或参照的主键值。


        (1)插入非空值时,如果主键表中没有这个值,则不能插入。
        (2)更新时,不能改为主键表中没有的值。
        (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
        (4)更新主键记录时,同样有级联更新和拒绝执行的选择。

设置主键:

SQLServer:

        打开之前建立的表,即选择 数据库->SSMSTest->表->dbo.student 右键单击dbo.student选择设计。

在sno处右键单击选择设置主键

MySql:

选择需要设计主键的表,点击设计表,找到键点击出现钥匙即可

代码:

点击新建查询输入下列代码,然后点击运行即可

  1. drop table student --删除表student
  2. create table student --创建表student
  3. (sno char(4) primary key, --设置sno为主键
  4. sname char(8),
  5. sage int,
  6. ssex char(2),
  7. sdept char(20)
  8. )

外键设置:

SQLServer:

选择 数据库->SSMSTest->表->dbo.sc 右键单击dbo.sc选择设计。
 


右键单击sno或者cno,选择关系。
 


点击左下角的添加。
 


在 表和列规范 后面的框中点一下,就会出现后面的三个点的按钮,点击三个点图标的那个按钮。
 


因为sc中的sno引用了student中的sno,所以主键表那里选择student,然后选择对应的sno。而sc中的cno因为引用的是course中的sc,所以在这里没法设置外键,需要等下再设置,在这里把它选择为无。点击确定。
 


 


再次点击左下角的添加。按照上述步骤将主键表选择为course,选择对应sc中的cno的course中的cno,并点击确定。
 


 


 


点击关闭,然后保存,在出现的警告中选择是。
 


 

MySql:

        如图所示设计表,点击外键,直接添加即可 

 

 代码:

  1. drop table sc
  2. create table sc
  3. (sno char(4) foreign key references student(sno), --加外键约束
  4. cno char(4) foreign key references course(cno), --加外键约束
  5. grade int,
  6. primary key(sno, cno) --设置sno和cno的属性组为主键
  7. )

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/497402
推荐阅读
相关标签
  

闽ICP备14008679号