我是靠谱客的博主 笨笨果汁,最近开发中收集的这篇文章主要介绍mysql查询设置1对1_MySQL多表操作(一对一 一对多 多对多),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一,1对1

1方建主表(id为主键字段), 一方或多方建外键字段(参考主表的主键id,加unique)

示例:一个女人(woman)对应一个丈夫(man)不能对应多个丈夫,一个丈夫也不能对应多个女人,妻子

创建man表(建表前创建一个test库)

mysql> create table man(

id varchar(32) primary key ,

name varchar(30)

);

创建woman表

mysql> create table woman(

id varchar(32) primary key ,

name varchar(30),

husband varchar(32) unique,

constraint wm_fk foreign key(husband) references man(id)

);

建表语句解析

unique # 设置约束 才是1对1否则为1对多

constraint wm_fk foreign key(husband) references man(id) #创建外键名为wm_fk 本表字段husband关联表man的id字段

查看建表语句

11e3aa63d2a32f97d759006cb6622f07.png

一一对应关系

a5189575d96b4018c5103a2dd8c5b7d0.png

插入数据

首先插入3个男人

mysql> insert into man values(‘1‘, ‘小明‘);

Query OK, 1 row affected (0.00 sec)

mysql> insert into man values(‘2‘, ‘小聪‘);

Query OK, 1 row affected (0.01 sec)

mysql> insert into man values(‘3‘, ‘老王‘);

Query OK, 1 row affected (0.00 sec)

294cdd7f5ea4467775e15f9d61190094.png

插入女人并设置对应丈夫关系

mysql> insert into woman values(‘1‘, ‘小花‘, 2);

Query OK, 1 row affected (0.00 sec)

mysql> insert into woman values(‘2‘, ‘小静‘, 1);

Query OK, 1 row affected (0.00 sec)

以下插入报错

71bb6e619924983f099c6cfc7f55a65c.png

husband可以为空代表为单身狗

mysql> insert into woman values(‘3‘, ‘小红‘, null);

查看数据

64a1cefb524388336a0c1883f2235d4e.png

查询夫妻信息

mysql> SELECT man.name AS 丈夫, woman.name AS 妻子 FROM man INNER JOIN woman ON man.id=woman.husband;

当man.id和woman.huaband相同时查询数据即显示丈夫和妻子对应信息

b5f1e3180b6b9221bd2ae1f7f7dba7a2.png

原文:https://www.cnblogs.com/minseo/p/14318464.html

最后

以上就是笨笨果汁为你收集整理的mysql查询设置1对1_MySQL多表操作(一对一 一对多 多对多)的全部内容,希望文章能够帮你解决mysql查询设置1对1_MySQL多表操作(一对一 一对多 多对多)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部