当前位置:首页 » 编程语言 » 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是要全表扫描的!

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

热点内容
sql插入两张表 发布:2025-05-11 09:55:33 浏览:757
日本编程语言 发布:2025-05-11 09:53:52 浏览:843
手机店设置的初始密码一般是多少 发布:2025-05-11 09:33:15 浏览:402
昂科威选择哪个配置 发布:2025-05-11 09:25:50 浏览:36
怎么解决安卓视频全屏卡顿 发布:2025-05-11 09:14:55 浏览:726
汇编从编译到执行 发布:2025-05-11 09:09:04 浏览:258
安卓系统低版本如何升级 发布:2025-05-11 09:04:44 浏览:252
认证类型加密算法 发布:2025-05-11 08:58:35 浏览:562
android停靠 发布:2025-05-11 08:42:23 浏览:647
超时代加密 发布:2025-05-11 08:41:29 浏览:781