mysql数据库表关系,多表查询

本文详细介绍了MySQL数据库中的三种表关系:一对一、一对多和多对多,并探讨了多表查询的不同方式,包括内链接查询、外链接查询、自链接、联合查询以及子查询的使用和分类。
摘要由CSDN通过智能技术生成

一、表的关系
1.一对一关系
是一个表的信息进行分表存储,为的是加快查询效率
其实应该先看一对多的关系,一对一的关系只是把外键的这一个字段设置了unique唯一约束,保证字段只有一个,则形成了一对一的关系

create database test;
use test;
show tables;

create table dept
(
   dept_id int auto_increment comment '部门id',
   d_name varchar(20) not null comment '部门名称',
   d_number int not null comment '部门人数',
   constraint pk_dept_id primary key(dept_id)
)comment '部门表';
desc dept;

insert into dept values(1,'生产部',19);
insert into dept values(2,'管理层',1);
insert into dept values(3,'研发部',3);
insert into dept values(4,'市场部',4);
insert into dept values(5,'综合部',2);
select * from dept;

create table dept_detail
(
    dd_id int comment 'id',
    dd_add varchar(20) comment '部门地址',
    dd_city varchar(50) comment '部门所在城市',
    dept_id int comment '部门id号'
)comment '部门表详细信息';
desc dept_detail;
alter table dept_detail modify dept_id int unique comment'部门ID必须唯一';
desc dept_detail;
alter table dept_detail add primary key (dd_id);
alter table dept_detail add foreign key (dept_id) references dept(dept_id);
insert into dept_detail values(1,'北京北路','上海'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值