MySQL如何创建多对多和一对一关系
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"MySQL如何创建多对多和一对一关系",在日常操作中,相信很多人在MySQL如何创建多对多和一对一关系问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"M
千家信息网最后更新 2026年11月01日MySQL如何创建多对多和一对一关系
这篇文章主要介绍"MySQL如何创建多对多和一对一关系",在日常操作中,相信很多人在MySQL如何创建多对多和一对一关系问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL如何创建多对多和一对一关系"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、创建多对多
1.学生表
create table students ( id int not null primary key auto_increment, name varchar(45) not null )engine=innodb default charset=utf8;
2.课程表
create table courses ( id int not null primary key auto_increment, name varchar(45) not null )engine=innodb default charset=utf8;
3.中间表
create table stu_cour ( id int not null primary key auto_increment course_id int not null, stu_id int not null, constraint cour foreign key(course_id) references courses(id), constraint stu foreign key(stu_id) references students(id) )engine=innodb default charset=utf8;
4.插入数据
insert into students values (0,"小王");insert into students values (0,"小宋");insert into students values (0,"小李");insert into courses values (0,"语文");insert into courses values (0,"数学");insert into courses values (0,"英语");insert into stu_cour values (0,1,1);insert into stu_cour values (0,1,2);insert into stu_cour values (0,1,3);insert into stu_cour values (0,2,1);insert into stu_cour values (0,2,3);insert into stu_cour values (0,3,2);insert into stu_cour values (0,3,3);
5.查询学生1选了哪些科目
SELECT courses.id,courses.name FROM courses INNER JOIN stu_cour ON stu_cour.course_id=courses.idINNER JOIN students ON students.id= 1 and students.id = stu_cour.stu_id;

6.查询id=2数学被谁选了
SELECT students.name FROM students INNER JOIN stu_cour ON stu_cour.stu_id =students.idINNER JOIN courses ON courses.id= 2 and stu_cour.course_id = courses.id;

二、MySQL 创建一对一关系
1.一对一
创建用户表:
CREATE TABLE users (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL)ENGINE=InnoDB DEFAULT CHARSET=utf8;
用户信息表:
CREATE TABLE users_info (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,age int NOT NULL,phone varchar(11) NOT NULL,user_id int not null,constraint user_info foreign key(user_id) references users(id))ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.插入数据
insert into users values (0,"小王");insert into users values (0,"小宋");insert into users_info values (0,12,'13812345678',1);insert into users_info values (0,14,'13812345679',2);
查询人的全部信息:
select * from users inner join users_info onusers_info.user_id =users.id;
到此,关于"MySQL如何创建多对多和一对一关系"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
一对一
学习
查询
信息
学生
数学
数据
更多
用户
小宋
小王
帮助
实用
接下来
文章
方法
理论
知识
科目
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网和科技创新
互联网 的科技创新
互联网科技排名
艾特科技互联网
安徽鑫晟辉互联网科技
奇士达互联网科技
广州凡科互联网科技
米客互联网科技
菲比寻常互联网科技
广西互联网科技公司
天下捷融互联网科技
上海亿帐通互联网科技
盛创互联网科技有限公司
富国互联网科技创新基金
上海宁丞科技互联网
世界互联网科技公司市值排名
互联网硬科技公司
悟空问答互联网科技
互联网科技博主张洲
互联网科技自媒体灵感
南京欣网互联网络科技有限公司
互联网科技垄断
金融科技与互联网金融
睿民互联网科技
南山科技园互联网公司有哪些
搜狐科技互联网
工业互联网山东科技大学
科技互联网的核心竞争力
智帮互联网科技公司最近动向
艺电能源互联网科技有限公司招聘