SQL-----STUDENT

【学生信息表】

【宿舍信息表】

【宿舍分配表】

为了相互关联,我们需要在表中添加外键。在宿舍分配表中添加用于关联学生信息表的外键 student_id,以及用于关联宿舍信息表的外键 dormitory_id

sql代码

-- 创建学生信息表 
CREATE TABLE students( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID', name VARCHAR(30) NOT NULL COMMENT '学生姓名', student_number VARCHAR(20) NOT NULL COMMENT '学号', gender VARCHAR(2) NOT NULL COMMENT '学生性别', grade VARCHAR(4) NOT NULL COMMENT '年级', major VARCHAR(30) NOT NULL COMMENT '专业', phone_number VARCHAR(20) DEFAULT NULL COMMENT '联系方式' 
); -- 创建宿舍信息表 
CREATE TABLE `dormitories` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '宿舍ID', `building` VARCHAR(20) NOT NULL COMMENT '所属的楼栋', `room_number` VARCHAR(20) NOT NULL COMMENT '房间号', `capacity` INT NOT NULL COMMENT '容纳人数', PRIMARY KEY (`id`) 
) COMMENT='宿舍信息表'; -- 创建宿舍分配表 
CREATE TABLE dormitory_assignments(  id INT PRIMARY KEY AUTO_INCREMENT COMMENT '分配记录ID',  student_id INT NOT NULL COMMENT '学生ID',  dormitory_id INT NOT NULL COMMENT '宿舍ID',  grade VARCHAR(4) NOT NULL COMMENT '年级', major VARCHAR(30) NOT NULL COMMENT '专业',  check_in_time DATETIME DEFAULT NULL COMMENT '入住时间',  check_out_time DATETIME DEFAULT NULL COMMENT '退房时间',  FOREIGN KEY (student_id) REFERENCES students(id),  FOREIGN KEY (dormitory_id) REFERENCES dormitories(id)  
);  

插入示例:

【学生信息表】
插入一条学生信息,学号为 20230001,姓名为 张三,性别为 男,年级为 2,专业为 计算机科学与技术,联系方式为 13412345678: 


INSERT INTO students (name, student_number, gender, grade, major, phone_number)  
VALUES ('张三', '20230001', '男', '2', '计算机科学与技术', '13412345678');  

 【宿舍信息表】
插入一条宿舍信息,楼栋为 2 号楼,房间号为 101,容纳人数为 2:

INSERT INTO dormitories (building, room_number, capacity)  
VALUES ('2 号楼', '101', 2);  

【宿舍分配表】
插入一条宿舍分配记录,学生 ID 为 1,宿舍 ID 为 1,年级为 2,专业为 计算机科学与技术,入住时间为 2023-09-01,退房时间为 2024-02-28:

INSERT INTO dormitory_assignments (student_id, dormitory_id, grade, major, check_in_time, check_out_time)  
VALUES (1, 1, '2', '计算机科学与技术', '2023-09-01', '2024-02-28');  

注意:

在进行宿舍分配时,如果发现目标宿舍已经达到了容纳人数上限,则应该停止当前的分配操作,不再继续分配该宿舍。

% 连接 MySQL 数据库 
conn = database(database_name, user_name, password, 'com.mysql.cj.jdbc.Driver', url); % 查询宿舍的容纳人数和当前入住人数 
sql_query = ['SELECT da.capacity, COUNT(*) FROM dormitory_assignments AS da '... 'WHERE da.dormitory_id = ' num2str(dormitory_id) ' GROUP BY da.dormitory_id;']; 
results = exec(conn, sql_query); % 读取查询结果 
results = fetch(results); 
current_number = results.Data{1,2}; 
capacity = results.Data{1,1}; % 判断宿舍是否已满 
if current_number >= capacity disp('该宿舍已经满员,无法分配!'); return; 
end 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/195139.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网上门预约洗衣洗鞋店小程序;

拽牛科技干洗店洗鞋店软件,方便快捷,让你轻松洗衣。只需在线预约洗衣洗鞋服务,附近的门店立即上门取送,省心省力。轻松了解品牌线下门店,通过列表形式展示周围门店信息,自动选择最近门店为你服务。简单填写…

《Scratch等级考试(1~4级)历届真题解析》专栏总目录

❤️ 专栏名称:《Scratch等级考试(1~4级)历届真题解析》 🌸 专栏介绍:中国电子学会《全国青少年软件编程等级考试》Scratch等级考试(1~4级)历届真题解析。 🚀 订阅专栏:原…

界面控件DevExpress WPF Splash Screen,让应用启动画面更酷炫!

DevExpress WPF的Splash Screen组件可以为应用程序创建十分酷炫的启动屏幕,提高用户在漫长的启动操作期间的体验! P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress …

YOLOV8部署Android Studio安卓平台NCNN

下载Android Studio,配置安卓开发环境,这个过程比较漫长。 安装cmake,注意安装的是cmake3.10版本。 根据手机安卓版本选择相应的安卓版本,我的是红米K30Pro,安卓12。 使用腾讯开源的ncnn,这是一个为手机端极…

HIKVISION iSecure Center RCE 海康威视综合安防管理平台任意文件上传 POCEXP

参考:GitHub - Sweelg/HIKVISION_iSecure_Center-RCE: HIKVISION iSecure Center RCE 海康威视综合安防管理平台任意文件上传 POC&EXP(一键getshell) 速修!海康威视综合安防RCE已被用于勒索 近日,勒索团伙利用海康威视综合安防…

【Dynamic-datasource】Springboot多数据源整合

引入依赖&#xff1a; <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.0</version> </dependency> 整体pom文件&#xff1a; <?xml versi…

8.jib-maven-plugin构建springboot项目镜像,docker部署配置

目录 1.构建、推送镜像 1.1 执行脚本 2.2 pom.xml配置 ​2.部署镜像服务 2.1 执行脚本 2.2 compose文件 3.docker stack常用命令 介绍&#xff1a;使用goole jib插件构建镜像&#xff0c;docker stack启动部署服务&#xff1b; 通过执行两个脚本既可以实现构建镜像、部…

Uniapp-安装HBuilder调试基座失败解决方案

无法安装原因 有时候我们测试的时候&#xff0c;在手机上插上了线可能因为各种原因没有点击安装或者安装后删除就无法再次安装了&#xff0c;会提示同步资源失败,未得到同步资源的授权,请停止运行后重新运行&#xff0c;而且无论怎么操作都解决不聊这个问题&#xff0c;这是由…

诡异的bug之dlopen

序 本文给大家分享一个比较诡异的bug&#xff0c;是关于dlopen的&#xff0c;我大致罗列了我项目中使用代码方式及结构&#xff0c;更好的复现这个问题&#xff0c;也帮助大家进一步理解dlopen. 问题复现 以下是项目代码的文件结构&#xff1a; # tree . ├── file1 │ …

智慧环保:科技驱动下的环境保护新篇章

智慧环保&#xff1a;科技驱动下的环境保护新篇章 环境保护已经成为当今社会的重要议题&#xff0c;而科技的飞速发展为我们开启了智慧环保的新篇章。在这篇文章中&#xff0c;我们将介绍智慧环保所带来的机会和创新&#xff0c;以及科技在环境保护中的重要作用。 智慧环保的理…

Oracle OCM考试(史上最详细的介绍,需要19c OCP的证书)

Oracle 19c OCM考试和之前版本的OCM考试差不多&#xff0c;对于考生来说最大的难点是题量大&#xff0c;每场3小时&#xff0c;一共4场&#xff0c;敲键盘敲得手抽筋。姚远老师&#xff08;v:dataace&#xff09;的很多Oracle OCP学员都对19c OCM考试很有兴趣&#xff0c;这里给…

预告|万博智云CTO孙琦将出席2023 OpenInfra Days China,并发表最新容灾方案,欢迎报名参会!

2023年12月1日&#xff0c;北京海航万豪酒店将迎来一场令人瞩目的盛会——OpenInfra Days China 2023。 大会主题 本次活动是时隔两年来的首次线下盛会&#xff0c;聚集了全球社区的技术专家、行业领袖以及国内开源基础设施技术企业的代表&#xff0c;旨在交流研究OpenInfra基…

【容器化】Kubernetes(k8s)

文章目录 概述Docker 的管理痛点什么是 K8s云架构 & 云原生 架构核心组件K8s 的服务注册与发现组件调用流程部署单机版部署主从版本Operator来源拓展阅读 概述 Docker 虽好用&#xff0c;但面对强大的集群&#xff0c;成千上万的容器&#xff0c;突然感觉不香了。 这时候就…

轻松玩转华为MateX5分屏功能,乐趣层出不穷!

✅小窗交互&#xff0c;沉浸体验不打断&#xff1b; ✅分区截屏&#xff0c;花式截图&#xff0c;一招搞定&#xff1b; ✅跨屏拖拽&#xff0c;随心分享易如反掌&#xff1b; ✅悬停视频会议&#xff0c;沟通效率大不同。

对完成初始配对的std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> 进行可视化

1. 数据填充 std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> pure_static_landmarks_underk;std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> pure_static_landmarks_k;vector<vector<int>> matched_indices;对数据pure_sta…

抠某区域地图方法

1.打开阿里云数据可视化平台DataV.GeoAtlas地理小工具系列 2. 选择要抠出来的区域&#xff0c;右侧选择要下载的json文件&#xff0c;如红框所示 3. 打开下载的文件&#xff0c;内容全部复制。 4. 打开百度地图示例Examples - Apache ECharts 5. 如下图所示&#xff0c;将下…

C生万物 | 从浅入深理解指针【最后部分】

C生万物 | 从浅入深理解指针【最后部分】 文章目录 C生万物 | 从浅入深理解指针【最后部分】前言sizeof和strlen的对比sizeofstrlen 数组和指针笔试题解析一维数组字符数组二维数组 前言 我们前面学了四个部分了&#xff0c;如果没有看前面的建议可以看一下前面的~~ C生万物 |…

使用uniapp写小程序,真机调试的时候不显示log

项目场景&#xff1a; 当小程序文件太大的情况下使用真机调试&#xff0c;但是真机调试的调试器没有任何反应 问题描述 使用uniapp写小程序&#xff0c;真机调试的时候不显示log 原因分析&#xff1a; 提示&#xff1a;因为真机调试的时候没有压缩文件&#xff0c;所以调试的…

开发知识点-前端-webpack

webpack技术笔记 一、 介绍二、 下载使用 一、 介绍 Webpack是一个现代 JavaScript 应用程序的静态模块打包器 打包&#xff1a;可以把js、css等资源按模块的方式进行处理然后再统一打包输出 静态&#xff1a;最终产出的静态资源都可以直接部署到静态资源服务器上进行使用 模…

Axure RP 9下载教程,轻松入手!

Axurerp9是产品经理必备的专业快速原型设计工具。Axurerp9可以快速高效地创建产品原型图&#xff0c;绘制APP和网页的原型图、框架图、结构图等。但Axurerp9下载在用户体验上的缺陷也很明显&#xff0c;其设置交互方式相对繁琐&#xff0c;可视化不足、条件判断、变量、中继器等…