当前位置:首页 » 编程语言 » sql主表从表

sql主表从表

发布时间: 2022-05-09 06:24:28

A. mysql中主表与从表,是什么意思

主表
数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。
从表
以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。
关系及用法概述
从表数据依赖于主表,一般最后查询数据时把主表与从表进行关联查询。主表可用于存储主要信息,如客户资料(客户编号,客户名称,客户公司,客户单位等),从表用来存储客户扩展信息(客户订单信息,客户地址信息,客户联系方式信息等)
简单举例:
主表(用户信息)
table user
userid numeric(0,20)
username varchar2(20)
usercompany varchar2(50)
从表(用户订单)
table uorder
orderid numeric(0,20)
uid numeric(0,20)
ordertime date
orderstate char(1)
要对主表和从表进行信息联合查询语句简单如下:
select * from [user] u join uorder o on u.userid=o.uid

B. sql 什么是主从表

主表中有的从表中才可添加相关信息。

比如说有这样一个表

公司人员信息表
姓名 年龄 性别
张三 20 男

工资表
姓名 工资 工龄 奖金

其中工资表是公司人员信息表的从表帮定的是姓名字段,你想象下如果公司根本没这个人你能给这个人发工资吗,当然这个例子不太符合逻辑因为姓名是会相同的,你可以用工号来进行唯一性标示这样就不会有冗余信息了。

主从表是一种数据关系模型,主表约束从表。以学员信息表stuInfo和考试成绩表stuMarks为例, 我们知道它们是一对多的关系,当然一是主,多是从。所以stuInfo就是主表,stuMarks就是从表。那么,一般我们会在从表中做一个外键字段,引用主表中的主键。(为什么呢?大家想想是13亿人民记住主席的名字容易还是主席记住13亿人民名字呢?)这一点,已经在stuMarks表中得到了体现。那么,为了保持数据的完整性。主从表我们要尽量遵循以下原则:

1、当主表中没有对应的记录时,不能将记录添加到子表
——成绩表中不能出现在学员信息表中不存在的学号;

2、不能更改主表中的值而导致子表中的记录孤立
——把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;

3、子表存在与主表对应的记录,不能从主表中删除该行
——不能把有成绩的学员删除了

4、删除主表前,先删子表
——先删学员成绩表、后删除学员信息表

C. 数据库主表和从表怎么连接

摘要 您好,可以看这个例子

D. mysql 如何判断一个表是主表还是从表

--books表中有字段有bId,pId等字段。
--another有bId,pId等字段(create table another select bId,pid,bAuthor from books;--相关字段以及内容来自books表)。
--books和publising建立外键,参照publishing中的id字段。
alter table books add constraint FK_books_publishing foreign key (pid) references publishing (id) on update cascade;
--another和publishing之间创建外键,参照publishing中的id字段。
alter table another add constraint FK_another_publishing foreign key (pId) references publishing (id) on update cascade;
--举个简单的更新列子:
update publishing set id = 17,pname = '爱好者' where id='14';
--当执行这条语句时(更新publishing表),books表和another表同时进行更新。
--主表更新字段数据等,副表也随之更新,从上面可以看出,主表是publishing,副表是books和another。

--希望能帮到你

E. sqlserver怎么建立主从表关系

在sqlserver2000中可以选择关系图,新建关系图,选择要建立关系的主表和从表,然后一直下一步下一步,直到完成。
然后用鼠标拖着主表的字段到从表的字段,连成一线,会弹出个框,一般点确定就可以了。

F. sql 主从表查询

select * from A where exists (select 1 from B where Parentid=A.ID)

使用exists可以提高查询速度,不要用in来查询,in是要全表扫描的!

以上,希望对你有所帮助!

热点内容
电脑直播唱歌电脑需要什么配置 发布:2025-07-13 19:03:45 浏览:88
config连接数据库 发布:2025-07-13 19:02:24 浏览:953
bt文件解压 发布:2025-07-13 19:02:16 浏览:744
比较便宜的云服务器 发布:2025-07-13 18:29:59 浏览:406
切换ftp 发布:2025-07-13 18:29:07 浏览:738
锐龙哪个配置最高画质 发布:2025-07-13 18:22:34 浏览:196
压缩机工作原理图 发布:2025-07-13 18:10:15 浏览:39
黑暗追求者安卓怎么联机 发布:2025-07-13 18:10:07 浏览:617
北大保安自学编程 发布:2025-07-13 18:09:58 浏览:858
java递归排列 发布:2025-07-13 18:02:43 浏览:473