SQL中如何为表添加外键约束

SQL中如何为表添加外键约束,第1张

-〉INDEX

(category_id),

->

FOREIGN

KEY

(category_id)

REFERENCES

categories

(category_id),

->

CONSTRAINT

fk_member

FOREIGN

KEY

(member_id)

REFERENCES

members

(member_id),

->

PRIMARY

KEY(article_id)

范例中的添加外键约束就是这种形式

如果是概念的问题,直接参考书籍,一般添加外键约束,主要在创建表中.

1.外键的作用,主要有两个:

一个是让数据库自己通过外键来保证数据的完整性和一致性

一个就是能够增加ER图的可读性

2.外键的配置

1)先创建一个主表,代码如下:

#创建表student,并添加各种约束

create

table

student

(

id

int

primary

key

,

#主键约束

name

varchar(20)

,

#唯一约束

age

int

NOT

NULL,

#非空约束

sex

varchar(2)

,

address

varchar(20)

default

'重庆'

#默认约束

)

再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:

#创建分数表

create

table

score

(

id

int

primary

key

,

sid

int

,

china

int

,

history

int,

english

int,

constraint

FK_sid

foreign

key(sid)

references

student(id)

#通过外键创建链接

)

创建外键的方法有很多,其中最常见创建外键的格式是:constraint

FK_***

foreign

key(**)

references

链接的外表

删除外键:

alter

table

drop

foreign

key

'外键名'.

注意:

只有在定义外键时,用constraint

外键名

foreign

key

....

方便进行外键的删除

外键关系通俗来讲就是将两个表关联起来用的

学生班级来举例子

新建一个学生表student

新建一个班级表 grade

然后每个学生,都对应一个班级,比如学生A是X班,学生B也是X班,就没必要在学生表里面存储重复的班级名称,因此需要一个班级表

只要存储一个班级表的id,就可以记录该学生班级的所有详细信息了

关联起来显示就是:

select * from student, grade where student.gradeId = grade.id

通过外键关联,显示学生信息和班级信息的所有数据,并根据外键进行一一匹配


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

原文地址: http://outofmemory.cn/bake/11773442.html

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

发表评论

登录后才能评论

评论列表(0条)

保存