在SQl中、主外键主要到底 是干什么用的?

主外键是不就是插入时给数据的一个完整性约束呀。真正到查询时就没必要间关系了了?。。用内联或外联就行了、是么?在查询的时候主外键和内联或外联用什么关系?谢谢、、、、、... 主外键 是不就是插入时给数据的一个完整性约束呀 。真正到 查询时就没 必要间关系了了? 。 。 用内联 或外联 就行了、 是么?在查询的时候主外键和 内联 或外联 用什么关系? 谢谢 、 、 、 、 、 展开
 我来答
x403879785
推荐于2018-03-22 · TA获得超过3838个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1152万
展开全部
主键Primary key,唯一标示一个实体。是保证数据库的实体完整性,保证数据中数据的正确性和合理性,取值非空唯一。例子:create table 学生表(学号 int primary key)
外键Foreign,是用来使表与表之间联系。用来保证数据库的参照完整性,外键的取值必须来自参照表参照列的值,可以为空也可不为空。例子:create table 选课表(学号 int foreign key references 学生表(学号))

连接查询与内外键的关系:

连接的 连接条件:A表的主键 = B表的外键如果做连接的两表没有主外键关系,那么连接结果是笛卡尔积,没有意义。
例:学生表和选课表做连接,select *from 学生表,选课表where 学生表.学号(主键)=选课表.学号(外键)

主外键可以建级联级触发器,用来做级联删除、更新。作用原理还是因为主外键将两表联系。
更多追问追答
追问
主外键  与查询 什么关系  、、 例如 插入时我用的主外键    。而查询的时候我把主外键 关系给删了 。 。那么我用内联链接  没有意义么?  这里不大明白 、 、、     你的意思是:查询内联或外联时  。主外键还得保持关系 就是了、、对么?
追答
当然了,查询查的是表里的数据,而数据与数据有联系才把表与表联系,所以才有主外键。如果你只单表查询,就不需要外键了。所多表查询,就得用主外键联系,需要把这个联系当做连接的条件把两表关联。
greybird
2012-03-01 · TA获得超过470个赞
知道小有建树答主
回答量:609
采纳率:0%
帮助的人:379万
展开全部
主外键就是完整性约束,查询时可以提高效率
内连接和外连接是查询时表的连接方式,主外键是表之间关系
主外键 还有 级联删除 级联更新(Oracle没有,SQL Server有)功能
http://baike.baidu.com/view/690105.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
通恨蕊稽晴
2019-01-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:671万
展开全部
举个简单的例子
表a内有列c1
表b内有列c2
将c2的外键指向c1
那么当你向表b插入数据时,c2的内容必须为c1中的一个
还有几个约束需要你设置
如删除或者修改表a中的字段时怎么处理表b中相关联的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高琪郭盘盘
2012-03-01 · 超过11用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:22.9万
展开全部
主键是表内查询用的唯一标识,具有不重复性特点
外键是表间连接用的,即多表查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guoweifyj
2012-03-01 · TA获得超过346个赞
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:166万
展开全部
参考下:http://zhidao.baidu.com/question/318157329.html?oldq=1
数据库表中的主键和外键。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式