多对多关系示例

2023-11-27

我在这里和谷歌中没有找到任何 MYSQL 多对多关系示例。我正在寻找的是一个非常简单的示例,其中 php+mysql 显示数据库的结果。有人可以写一个非常简单的例子吗?


示例场景:大学的学生和课程。一个特定的学生可能会参加多门课程,当然一门课程通常会有很多学生。

示例表,简单设计:

CREATE TABLE `Student` (
    `StudentID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `FirstName` VARCHAR(25),
    `LastName` VARCHAR(25) NOT NULL,
    PRIMARY KEY (`StudentID`)
) ENGINE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci

CREATE TABLE `Course` (
    `CourseID` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    `Code` VARCHAR(10) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
    `Name` VARCHAR(100) NOT NULL,
    PRIMARY KEY (`CourseID`)
) ENGINE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci

CREATE TABLE `CourseMembership` (
    `Student` INT UNSIGNED NOT NULL,
    `Course` SMALLINT UNSIGNED NOT NULL,
    PRIMARY KEY (`Student`, `Course`),
    CONSTRAINT `Constr_CourseMembership_Student_fk`
        FOREIGN KEY `Student_fk` (`Student`) REFERENCES `Student` (`StudentID`)
        ON DELETE CASCADE ON UPDATE CASCADE,
    CONSTRAINT `Constr_CourseMembership_Course_fk`
        FOREIGN KEY `Course_fk` (`Course`) REFERENCES `Course` (`CourseID`)
        ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB CHARACTER SET ascii COLLATE ascii_general_ci

查找注册课程的所有学生:

SELECT
    `Student`.*
FROM
    `Student`
    JOIN `CourseMembership` ON `Student`.`StudentID` = `CourseMembership`.`Student`
WHERE
    `CourseMembership`.`Course` = 1234

查找给定学生修读的所有课程:

SELECT
    `Course`.*
FROM
    `Course`
    JOIN `CourseMembership` ON `Course`.`CourseID` = `CourseMembership`.`Course`
WHERE
    `CourseMembership`.`Student` = 5678
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多对多关系示例 的相关文章

  • Rails 创建 schema_migrations - Mysql2::Error: 指定的键太长

    我正在使用Rails 3 2 6和Mysql 6 0 9 但我在MySQL 5 2 25上有完全相同的错误 当我创建新数据库时 rake db create 然后当我尝试加载架构时 rake schema load 我收到此错误 Mysql
  • 通过左连接实现精确分页

    我已经思考这个问题有一段时间了 我认为最好四处询问并听听其他人的想法 我正在构建一个在 Mysql 上存储位置的系统 每个位置都有一个类型 有些位置有多个地址 表格看起来像这样 location location id autoincrem
  • 提高mysql导入速度[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我有一个很大的数据库22GB 我曾经用过进行备份mysqldumpgzip 格式的命令 当我提取 gz 文件时 它会生成 sql文件的
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 如何在 sqlSave() 命令中跳过主键?

    我正在尝试使用 RODBC 在 MySQL 数据库中插入 data frame 我正在使用的命令如下 sqlSave channel dbData tablename table name append TRUE safer TRUE fa
  • MySQL 性能 DELETE 或 UPDATE?

    我有一个超过 10 7 行的 MyISAM 表 向其中添加数据时 我必须在最后更新 10 行 删除它们然后插入新行更快 还是更新这些行更快 应更新的数据不是索引的一部分 索引 数据碎片怎么样 UPDATE到目前为止要快得多 当你UPDATE
  • 防止重复数据输入mysql数据库

    我试图让我的电子邮件订阅服务拒绝数据库中已存在的电子邮件 这样用户就不会订阅同一封电子邮件两次 这就是我所拥有的 但它不起作用 有什么想法吗
  • 主机 localhost 不允许连接到此 MySQL 服务器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不小心删除了我的用户表 删除了所有用户 现在每当我尝试访问我的数据库时 它都会说 主机本地主机不允许连接到此 MYSQL 服务器 我试过
  • 找时间通过 PHP 执行 MySQL 查询

    我在互联网上看到过这个问题 here http www phpbuilder com board showthread php t 2100256 and here http answers yahoo com question index
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • MySQL 查询中的窗口函数

    有没有办法在 SELECT 查询本身中动态地使用 MySQL 查询中的窗口函数 我知道在 PostgreSQL 中这是可能的 例如 下面是 PostgreSQL 中的等效查询 SELECT c server ip c client ip s
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • 如何查找所有mysql表之间的所有关系?

    如何找到MySQL所有表之间的所有关系 例如 如果我想知道大约有 100 个表的数据库中表的关系 有什么办法知道这个吗 从编程角度来说 更好的方法是从以下位置收集数据 INFORMATION SCHEMA KEY COLUMN USAGE表
  • 将我的 Laravel 连接到外部数据库

    如何将 Laravel 连接到外部数据库 示例 我的本地计算机上有一个 Laravel 它在 xampp 上运行 我希望它连接到云服务器数据库 打开 env文件并编辑它 只需设置正确的外部数据库凭据 DB CONNECTION mysql
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • Chart.js - 使用 mysql 和 php 从数据库获取数据

    我正在尝试将静态数据转换为使用数据库结果 我将使用MySQL and PHP 示例代码 var randomScalingFactor function return Math round Math random 100 var lineC
  • 如何在 MySQL 中启用严格 sql_mode?

    我怎样才能启用严格sql mode在 MySQL 中 我想从 SQL 中获取数据并在中处理相同的数据strict mode 我现在的sql mode is mysql gt SELECT sql mode sql mode NO ENGIN
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 如何绑定值 INSERT INTO mysql perl

    我有下面的代码可以工作 但我需要知道如何绑定它们以确保安全 如果我只是将 new row 替换为 并将其放入执行中我收到错误 感谢您的帮助 foreach my field account field order new row param
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • Keras:如何从张量中查找特定值的索引,类似于 numpy.where()

    我正在寻找类似于 python 的 Keras 命令 numpy where 命令 基本上 我的想法是从张量中提取索引 在 python 中我可以简单地做f j np where X j 这给了我具体的indices f j 对于价值j e
  • 将 Git Remote 添加到不同的目录

    所以我正在编写一个脚本来初始化 git 存储库 cfi 添加一个遥控器 并将其从服务器上拉下来 创建目录并初始化存储库工作正常 问题是添加遥控器并进行拉取 从文档来看 它看起来不像git remote add有一个目录参数 同样适用于git
  • 在独立视图中使用时,iOS 8 中屏幕边缘的 UIBarButtonItem

    在我添加到具有多个 UIView 的 XIB 的导航栏中 左侧和右侧栏按钮项目的位置偏离了 XIB 中的视图只是有一个到视图控制器的出口 但不是主视图 它通过以下方式显示 UIView transitionFromView self vie
  • 图像未在 PhoneGap Build 应用程序中显示

    我最近决定开始使用 PhoneGap Build 来创建使用 Web 技术的应用程序 请注意 我使用的是 PhoneGap Build 而不是 PhoneGap 因此我不维护本机 API 当然 我使用 HTML img 标签来显示图像 但遇
  • 简单的 jQuery ajax 示例未在返回的 HTML 中找到元素

    我正在尝试学习 jQuery 的 ajax 函数 我已经让它工作了 但是 jQuery 在返回的 HTML DOM 中找不到元素 在与 jquery 相同的文件夹中 运行此页面
  • 为什么内联和内联块在相同的文本内容下具有不同的高度

    在下面的代码中 span class d inline style border 1px red solid padding 3px 0 span asbbb span span span class d inline block ml 2
  • ADO.NET 实体框架:ORM 解决方案之间的决策

    我在选择 ORM 时正在为我的新应用程序寻找一些指南 我想通过 NHibernate 和 LINQ to SQL 来评估 EF 我需要来自这个美好社区的专家声音 您可以根据以下几点进行评估 可扩展性 学习曲线 便于使用 表现 ETC 嗯 在
  • 如何在部署时隐藏或加密我自己的keras模型文件(如h5)?

    我为应用程序制作了自己的模型 并将其保存在 Keras 中作为 h5 文件 我使用 PyQt5 制作了 GUI 应用程序 该应用程序使用此模型 我正在尝试在没有任何有关深度学习模型的信息的情况下部署此应用程序 我对这种情况有一些疑问 我可以
  • 取消文件链接失败。我应该再试一次吗?

    我的本地 git 存储库中的一个文件出现问题 当我尝试更改分支时 它说 Unlink of file templates media container html failed Should I try again y n 这意味着什么 这
  • 如何在 codeIgniter 中自定义表单验证错误

    codeIgniter 中是否有一个文件 我可以在其中进行编辑 以便自定义表单验证消息 我只是想将它们放在项目符号列表中以消耗更少的空间 这是我用来输出错误消息的代码 div class div
  • xsd.exe 生成了一个数组中包含多个元素的 C#

    我收到了一组 XML 架构文件 我无法更改 XML 因为这些有时会更新 我正在使用 xsd exe 将架构文件转换为生成的 C 代码 我无法使用任何第三方工具 XML 架构文件之一的一部分如下所示
  • 静态常量数据成员应该在哪里定义? [复制]

    这个问题在这里已经有答案了 我有课 class foo public foo foo int private static const string s 初始化字符串的最佳位置在哪里s在源文件中 任何地方在one编译单元 通常是 cpp 文
  • 模板文字作为 JSX 中的字符串内容

    我想知道在 JSX 标签内混合字符串值和变量的最佳实践是什么 我列出了我熟悉的选项 render const totalCount this state const totalCountStr Total count totalCount
  • 如何重新定义“迷你缓冲区”模式映射内的键?

    当在多个命令中接受正则表达式并提供 C p C n 历史导航时 我试图重新定义用于导航历史记录的键 除了 C p C n 之外 我还想使用其他键 例如当使用occur or 替换正则表达式 C p 和 C n 可用于转到上一个和下一个元素
  • 关联实体和关联关系属性之间的区别?

    关联实体和关联关系属性有什么区别 我的书 现代数据库管理 Hoffer 第 11 版 指出两者之间存在差异 它没有解释为什么会有差异 它只是举例说明它们的不同之处 一种关系 具有single与其关联的属性是关联关系属性 并用圆角矩形的虚线表
  • CORS 标头在浏览器中发生更改,导致内容被阻止

    更新2 完整日志 从客户的角度 请求标头 POST dev micro server php HTTP 1 1 主机 生产服务器 com连接 保持活动状态内容长度 86编译指示 无缓存缓存控制 无缓存接受 文本 html q 0 01起源
  • 无法使用 jQuery 正确设置 Accept HTTP 标头

    我正在尝试使用以下 jquery 代码将 Accept HTTP 标头设置为 text xml ajax beforeSend function req req setRequestHeader Accept text xml type G
  • R 中与跨度相关的 LOESS 警告/错误

    我正在 R 中运行 LOESS 回归 并且在一些较小的数据集上遇到了警告 警告消息 1 在 simpleLoess y x w 跨度 度数 度数 参数 参数化 在 2703 9 使用伪逆 2 在 simpleLoess y x w 跨度 度
  • 错误:在“INTO”处或附近多次指定 INTO

    在 postgresql 函数内 我试图将从表中选择的两个值放入两个变量中 但出现此错误 INTO specified more than once at or near INTO 这是 伪 代码 CREATE OR REPLACE FUN
  • 多对多关系示例

    我在这里和谷歌中没有找到任何 MYSQL 多对多关系示例 我正在寻找的是一个非常简单的示例 其中 php mysql 显示数据库的结果 有人可以写一个非常简单的例子吗 示例场景 大学的学生和课程 一个特定的学生可能会参加多门课程 当然一门课