MySQL如何创建多对多和一对一关系
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"MySQL如何创建多对多和一对一关系",在日常操作中,相信很多人在MySQL如何创建多对多和一对一关系问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"M
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
微软补丁服务器
网络安全工作信息管理机制
数据库导入5120
数据库技术依据
公司网络安全日常管控
泽众软件开发了哪些
数据库ods
流媒体服务器级联实现
有关网络安全的折纸艺术
it项目管理软件开发
信用卡激活服务器没有响应
敬之网络技术魏佳
远程登录同一个服务器
针炙视频软件开发
河南数据软件开发服务有哪些
天龙八部逍遥城服务器
清空数据库所有表的数据
我国网络安全漏洞
我国DNA数据库的作用
电脑服务器品牌
网络安全和信息化专家库名单
开源网络安全北京
医院网络安全演练小结
信用卡激活服务器没有响应
一款软件开发要多少钱
云存储服务器安装在现场红绿灯
dtcc中国数据库视频
数据库实例修改
软件开发面试题以及答案
服务器管理器设置iis