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 相关文章:
SQL-----STUDENT
【学生信息表】 【宿舍信息表】 【宿舍分配表】 为了相互关联,我们需要在表中添加外键。在宿舍分配表中添加用于关联学生信息表的外键 student_id,以及用于关联宿舍信息表的外键 dormitory_id; sql代码 -- 创建学生信息表 CREATE TABLE st…...
OpenCV入门——图像视频的加载与展示一些API
文章目录 OpenCV创建显示窗口OpenCV加载显示图片OpenCV保存文件利用OpenCV从摄像头采集视频从多媒体文件中读取视频帧将视频数据录制成多媒体文件OpenCV控制鼠标关于[np.uint8](https://stackoverflow.com/questions/68387192/what-is-np-uint8) OpenCV中的TrackBar控件TrackBa…...
Control的Invoke和BeginInvoke
近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下。感谢这篇文章对我的理解Invoke和BeginInvoke的真正含义 。 (一)Control的Invoke和BeginInvoke 我们要基于以下认识: (1&#x…...
什么是OpenCL?
什么是OpenCL? 1.概述 OpenCL(Open Computing Language 开放计算语言)是一种开放的、免版税的标准,用于超级计算机、云服务器、个人计算机、移动设备和嵌入式平台中各种加速器的跨平台并行编程。OpenCL是由Khronos Group创建和管理的。OpenCL使应用程序…...
AdaBoost:提升机器学习的力量
一、介绍 机器学习已成为现代技术的基石,为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中,AdaBoost(Adaptive Boosting的缩写)作为一种强大的集成方法脱颖而出,为该领域的成功做出了重大贡献。AdaBoo…...
Pikachu(皮卡丘靶场)初识XSS(常见标签事件及payload总结)
目录 1、反射型xss(get) 2、反射性xss(post) 3、存储型xss 4、DOM型xss 5、DOM型xss-x XSS又叫跨站脚本攻击,是HTML代码注入,通过对网页注入浏览器可执行代码,从而实现攻击。 1、反射型xss(get) Which NBA player do you like? 由…...
一则DNS被重定向导致无法获取MySQL连接处理
同事反馈xwik应用端报java exception 获取MySQL连接超时无法连接到数据库实例 经过告警日志发现访问进来的IP地址数据库端无法被解析,这里可以知道问题出现在Dns配置上了 通过以上报错检查/etc/resolve.conf 发现namesever 被重定向设置成了114.114.114.114 域名 …...
Vue3中如何使用this
import { getCurrentInstance, ComponentInternalInstance } from vuesetup() {// as ComponetInternalInstance表示类型断言,ts时使用。否则报错,proxy为nullconst { proxy } getCurrentInstance() as ComponetInternalInstanceproxy.$parentproxy.$re…...
7.jvm对象内存布局
目录 概述对象里的三个区对象头验证代码控制台输出分析 验证2代码控制台输出 实例数据对其填充 访问对象结束 概述 jvm对象内存布局详解。 相关文章在此总结如下: 文章地址jvm基本知识地址jvm类加载系统地址双亲委派模型与打破双亲委派地址运行时数据区地址运行时数…...
U-boot(一):Uboot命令和tftp
本文主要基于S5PV210探讨uboot。 uboot 部署:uboot(180~400K的裸机程序)在Flash(可上电读取)、OS在FLash(nand) 启动过程:上电后先执行uboot、uboot初始化DDR和Flash,将OS从Flash中读到DDR中启动OS,uboot结束 特点:…...
代码随想录算法训练营第五十三天丨 动态规划part14
1143.最长公共子序列 思路 本题和动态规划:718. 最长重复子数组 (opens new window)区别在于这里不要求是连续的了,但要有相对顺序,即:"ace" 是 "abcde" 的子序列,但 "aec" 不是 &quo…...
pdf增强插件 Enfocus PitStop Pro 2022 mac中文版功能介绍
Enfocus PitStop Pro mac是一款 Acrobat 插件,主要用于 PDF 预检和编辑。这个软件可以帮助用户检查和修复 PDF 文件中的错误,例如字体问题、颜色设置、图像分辨率等。同时,Enfocus PitStop Pro 还提供了丰富的编辑工具,可以让用户…...
uniapp app tabbar 页面默认隐藏
1.在page.json 中找到tabbar visible 默认为true,设为false则是不显示 uni.setTabBarItem({ index: 1, //列表索引 visible:true //显示或隐藏 })...
深度学习 YOLO 实现车牌识别算法 计算机竞赛
文章目录 0 前言1 课题介绍2 算法简介2.1网络架构 3 数据准备4 模型训练5 实现效果5.1 图片识别效果5.2视频识别效果 6 部分关键代码7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 该项目较…...
即时通讯技术文集(第23期):IM安全相关文章(Part12) [共15篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第23 期。 [- 1 -] 理论联系实际:一套典型的IM通信协议设计详解(含安全层设计) [链接] http://www.52im.net/thread-283-…...
为什么UI自动化难做?—— 关于Selenium UI自动化的思考
在快速迭代的产品、团队中,UI自动化通常是一件看似美好,实际“鸡肋”(甚至绝大部分连鸡肋都算不上)的工具。原因不外乎以下几点: 1 效果有限 通常只是听说过,就想去搞UI自动化的团队,心里都认…...
Python小白之“没有名称为xlwings‘的模块”
题外话:学习和安装Python的第一个需求就是整理一个Excel,需要读取和写入Excel 背景:取到的模板代码,PyCharm本地运行报错:没有名称为xlwings的模块 解决办法:这类报模板找不到的错,即是模块缺…...
RK3588 学习教程1——获取linux sdk
上手rk3588前,需要先拥有一块开发板,这样可以少走很多弯路。个人推荐买一块itx3588j的板子。挺好用,接口丰富,可玩性高。 sdk可以直接在firefly官网下载,不用管什么版本,下载下来后直接更新即可࿰…...
保护您的Google账号安全:检查和加固措施
简介:随着我们在日常生活中越来越依赖于Google账号,我们的个人信息和敏感数据也变得越来越容易受到威胁。为了确保您的Google账号的安全性,本文将介绍一些简单但有效的方法,帮助您检查和加固您的Google账号。 --- 在数字时代&am…...
「Verilog学习笔记」优先编码器Ⅰ
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 分析编码器的功能表: 当使能El1时,编码器工作:而当E10时,禁止编码器工作,此时不论8个输入端为何种状态&…...
30美元实现AI视觉革命:OpenGlass开源智能眼镜的平民化方案
30美元实现AI视觉革命:OpenGlass开源智能眼镜的平民化方案 【免费下载链接】OpenGlass Turn any glasses into AI-powered smart glasses 项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass 当商业智能眼镜以数千元价格将普通用户拒之门外时&…...
Driver Store Explorer终极指南:三步清理Windows冗余驱动,快速释放数十GB空间
Driver Store Explorer终极指南:三步清理Windows冗余驱动,快速释放数十GB空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否发现Windows系统盘空间越来越…...
SharpSCADA项目实战:基于样例工程构建完整物料接收生产线
SharpSCADA项目实战:基于样例工程构建完整物料接收生产线 【免费下载链接】SharpSCADA C# SCADA 项目地址: https://gitcode.com/gh_mirrors/sh/SharpSCADA 想要快速掌握工业自动化SCADA系统的开发吗?SharpSCADA项目为你提供了一个完美的起点&…...
2026最权威的AI学术平台推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 把维普系统检测 AI 生成文本的特性揪住,要使 AI 率降下来,得从词汇、…...
KRaft VS RocketMQ NameServer
Kafka KRaft 和 RocketMQ NameServer 是两大消息队列用于元数据/路由管理的核心组件,但设计哲学完全不同:KRaft 是强一致的共识集群(CP),NameServer 是无状态的分布式路由表(AP)。下面从架构、原理、优缺点、选型做全面对比。 一、核心定位与本质区别 Kafka KRaft 定位…...
驱动模块的加载与卸载机制
昨天调板子又遇到个怪事:insmod加载驱动一切正常,但rmmod死活卸载不掉,内核日志里只留下一行“Device or resource busy”。查了半小时才发现,原来是有个用户态进程没关,一直占着驱动文件。这种问题在嵌入式开发里太常…...
AI技术原理--AI Token是什么:10分钟搞懂大模型基础单位
当你在ChatGPT里输入"你好,今天天气怎么样"的时候,你以为它真的读懂你的话吗? 并不是。 在你看不到的地方,有一个叫"分词器"的程序,正在把你的文字拆解成一个一个叫"Token"的单元。 …...
用Stacking集成学习算法实现精准预测
集成学习算法Stacking组合随机森林AdaBoost检验评估未来预测 Stacking 的原理是通过组合多个不同的学习模型,将它们的预测作为输入,训练一个元学习器来进行最终的预测 不同于 Bagging 和 Boosting,Stacking 的核心是使用一个新的模型来学习如…...
车辆保险笔记
交强险(管对方):必须买,如果不出险每年递减10%,管对方财产损失2000元,医疗费用18000元,人员伤残18万,最小是50%三者险(管对方):必须买医保外用药&…...
深朴智能与生数科技达成深度战略合作,共筑物理世界的通用智能
4月2日,通用具身智能机器人企业北京深朴智能科技有限公司(以下简称“深朴智能”)与通用世界模型公司北京生数科技有限公司(以下简称“生数科技”)宣布达成深度战略合作。双方将围绕“通用具身智能大脑”这一核心方向展…...
