百度生成数据库
问题1:
帮我创建2个表student与score表,要求student表有id,createDate,userName,phone,age,sex,introduce,
要求score表有id,scoreName,result,studentId(student表的id外键)。
要求student表中插入5条学生信息,都要是中文的。
要求score表中对应studentId插入10条信息,每个学生ID要有2个科目的成绩。
给出DDL与DML语句。
-- 创建student表
CREATE TABLE student (id INT AUTO_INCREMENT PRIMARY KEY,createDate DATETIME NOT NULL,userName VARCHAR(50) NOT NULL,phone VARCHAR(20) NOT NULL UNIQUE,age INT NOT NULL,sex ENUM('男', '女') NOT NULL,introduce TEXT
);-- 创建score表
CREATE TABLE score (id INT AUTO_INCREMENT PRIMARY KEY,scoreName VARCHAR(50) NOT NULL,result FLOAT NOT NULL,studentId INT,FOREIGN KEY (studentId) REFERENCES student(id) ON DELETE CASCADE
);-- 插入5条学生信息
INSERT INTO student (createDate, userName, phone, age, sex, introduce) VALUES
('2023-03-15 10:00:00', '张三', '13800138000', 20, '男', '张三来自北京,喜欢阅读和编程。'),
('2023-03-16 11:30:00', '李四', '13900139000', 21, '女', '李四来自上海,擅长数学和物理。'),
('2023-03-17 09:15:00', '王五', '13700137000', 19, '男', '王五来自广州,热爱运动和音乐。'),
('2023-03-18 14:45:00', '赵六', '13600136000', 22, '女', '赵六来自深圳,对历史和旅游感兴趣。'),
('2023-03-19 08:30:00', '钱七', '13500135000', 20, '男', '钱七来自杭州,喜欢旅游和摄影。');-- 插入对应studentId的10条成绩信息-- 假设第一条和第二条是张三的成绩,第三条和第四条是李四的成绩,以此类推...
INSERT INTO score (scoreName, result, studentId) VALUES
('数学', 90, (SELECT id FROM student WHERE userName = '张三')),
('语文', 85, (SELECT id FROM student WHERE userName = '张三')),
('英语', 92, (SELECT id FROM student WHERE userName = '李四')),
('物理', 88, (SELECT id FROM student WHERE userName = '李四')),
('历史', 89, (SELECT id FROM student WHERE userName = '王五')),
('政治', 93, (SELECT id FROM student WHERE userName = '王五')),
('化学', 87, (SELECT id FROM student WHERE userName = '赵六')),
('生物', 91, (SELECT id FROM student WHERE userName = '赵六')),
('地理', 94, (SELECT id FROM student WHERE userName = '钱七')),
('体育', 86, (SELECT id FROM student WHERE userName = '钱七'));
问题2:
帮我创建一个多表联合查询以student为主表,查看学生的所有科目成绩总分。
SELECT s.id AS student_id,s.userName,s.phone,s.age,s.sex,s.introduce,COALESCE(SUM(sc.result), 0) AS total_score
FROM student s
LEFT JOIN score sc ON s.id = sc.studentId
GROUP BY s.id, s.userName, s.phone, s.age, s.sex, s.introduce;
问题3:
帮我根据两个DDL创建一个插入信息的存储过程,先插入10条学生表信息,再根据插入的学生表信息插入100条对应studentId的score成绩,
所有信息随机生成,学生表的自增序号从6开始。
ALTER TABLE student AUTO_INCREMENT = 6;
DELIMITER //CREATE PROCEDURE InsertStudentsAndScores()
BEGINDECLARE i INT DEFAULT 1;DECLARE studentId INT;DECLARE studentName VARCHAR(50);DECLARE studentPhone VARCHAR(20);DECLARE studentAge INT;DECLARE studentSex ENUM('男', '女');DECLARE scoreName VARCHAR(50);DECLARE scoreResult FLOAT;-- 插入10条学生信息WHILE i <= 10 DOSET studentName = CONCAT('Student', FLOOR(RAND() * 1000));SET studentPhone = CONCAT('1', FLOOR(RAND() * 900000000) + 10000000);SET studentAge = FLOOR(RAND() * 30) + 5;SET studentSex = IF(RAND() > 0.5, '男', '女');SET createDate = NOW();-- 插入学生信息INSERT INTO student (createDate, userName, phone, age, sex) VALUES (createDate, studentName, studentPhone, studentAge, studentSex);-- 获取刚刚插入的学生IDSET studentId = LAST_INSERT_ID();-- 为该学生插入10条成绩信息SET i_score := 1;WHILE i_score <= 10 DOSET scoreName = CONCAT('Subject', FLOOR(RAND() * 10));SET scoreResult = FLOOR(RAND() * 100);-- 插入成绩信息INSERT INTO score (scoreName, result, studentId) VALUES (scoreName, scoreResult, studentId);SET i_score := i_score + 1;END WHILE;SET i := i + 1;END WHILE;
END //DELIMITER ;CALL InsertStudentsAndScores();
问题4:
帮我创建一个修改score表scoreName的触发器,当修改scoreName的时候触发,判断修改的scoreName是否是数学,如果是数学就改成(天书)。
并且给出测试示例。
DELIMITER //CREATE TRIGGER tr_change_score_name_to_tianshu
BEFORE UPDATE ON score
FOR EACH ROW
BEGINIF NEW.scoreName = '数学' THENSET NEW.scoreName = '天书';END IF;
END;
//DELIMITER ;-- 假设score表中已经存在一条记录,其scoreName为'数学'-- 插入一个学生记录(如果尚未存在)
INSERT INTO student (createDate, userName, phone, age, sex) VALUES (NOW(), 'TestStudent', '1234567890', 20, '男');-- 插入一个score记录,其scoreName为'数学'
INSERT INTO score (scoreName, result, studentId) SELECT '数学', 90, LAST_INSERT_ID() FROM student WHERE id = LAST_INSERT_ID();-- 查询score表,确认scoreName为'数学'
SELECT * FROM score WHERE scoreName = '数学';-- 更新scoreName为'数学'的记录,触发触发器
UPDATE score SET scoreName = '数学' WHERE scoreName = '数学';-- 再次查询score表,确认scoreName已经被修改为'天书'
SELECT * FROM score WHERE scoreName = '天书';
问题5:
创建一个两个表的综合【游标查询】,要求根据学生姓名进行查询,查询的结果返回两个表的综合信息。
SELECT s.id AS student_id,s.createDate,s.userName,s.phone,s.age,s.sex,s.introduce,sc.id AS score_id,sc.scoreName,sc.result
FROM student s
INNER JOIN score sc ON s.id = sc.studentId
WHERE s.userName = '目标学生姓名';DELIMITER //CREATE PROCEDURE FetchStudentAndScoreInfo(IN targetName VARCHAR(50))
BEGINDECLARE done INT DEFAULT FALSE;DECLARE student_id INT;DECLARE createDate DATETIME;DECLARE userName VARCHAR(50);DECLARE phone VARCHAR(20);DECLARE age INT;DECLARE sex ENUM('男', '女');DECLARE introduce TEXT;DECLARE score_id INT;DECLARE scoreName VARCHAR(50);DECLARE result FLOAT;-- 声明游标DECLARE cur CURSOR FOR SELECT s.id,s.createDate,s.userName,s.phone,s.age,s.sex,s.introduce,sc.id AS score_id,sc.scoreName,sc.resultFROM student sINNER JOIN score sc ON s.id = sc.studentIdWHERE s.userName = targetName;-- 声明NOT FOUND处理程序DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;OPEN cur;read_loop: LOOPFETCH cur INTO student_id, createDate, userName, phone, age, sex, introduce, score_id, scoreName, result;IF done THENLEAVE read_loop;END IF;-- 在这里处理每一行的数据,例如打印或进行其他操作SELECT student_id, createDate, userName, phone, age, sex, introduce, score_id, scoreName, result;END LOOP;CLOSE cur;
END //DELIMITER ;CALL FetchStudentAndScoreInfo('目标学生姓名');
相关文章:
百度生成数据库
问题1: 帮我创建2个表student与score表,要求student表有id,createDate,userName,phone,age,sex,introduce, 要求score表有id,scoreName,result,studentId(student表的id外键)。 要求student表中插入5条学生信息,都要是中文的。 要…...
【SpringBoot】整合百度文字识别
流程图 一、前期准备 1.1 打开百度智能云官网找到管理中心创建应用 全选文字识别 1.2 保存好AppId、API Key和Secret Key 1.3 找到通用场景文字识别,立即使用 1.4 根据自己需要,选择要开通的项目 二、代码编写 以通用文字识别(高精度版&am…...
Java如何设计一个功能
流程说明:实现一组功能的步骤 1,充分了解需求,包括所有的细节,需要知道要做一个什么样的功能。 2,设计实体/表 正向工程:设计实体、映射文件 --> 建表 反向工程:设计表 --> 映射文件、实体 设计实体类型分析步骤: 1)功能模块有几个实体…...
MySQL 字符字段长度设置详解:语法、注意事项和示例
本文将详细介绍在 MySQL 数据库中如何设置字符字段的长度。将介绍字符字段的数据类型、长度限制、语法示例,并提供具体的示例,以正确设置和管理字符字段的长度。 1. MySQL 字符字段长度概述 在 MySQL 中,字符字段是用于存储文本型数据的列。…...
【对角线遍历】python
没啥思路 class Solution:def findDiagonalOrder(self, mat: List[List[int]]) -> List[int]:mlen(mat)nlen(mat[0])ret[]if len(mat)0:return retcount0#mn-1是对角线总数while count<mn-1:#x和y的和刚好是count数#偶数为右上走if count%20:xcount if(count<m)else (…...
温度检测小系统兼继电器模块和小风扇
1.思路: 代码还要封装! 延迟1秒;串口初始化;LCD1602显示屏初始化;延迟两秒;ledone不亮; while循环,延迟1秒,DHT模块读取数据;封装接收数据函数;发…...
[数据结构1.0]计数排序
读者老爷好,本鼠鼠最近学了计数排序,浅浅介绍一下! 目录 1.统计相同元素出现次数 2.根据统计的结果将序列回填到原来的序列中 3.相对映射计数排序 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用,是非比较排…...
PostgreSQL入门教程
PostgreSQL是一种开源的关系型数据库管理系统,它具有高度的可靠性、可扩展性和性能。下面是一个简单的PostgreSQL入门教程,帮助你开始使用这个强大的数据库管理系统。 步骤1:安装PostgreSQL 首先,你需要下载并安装PostgreSQL。你…...
【spring】@ControllerAdvice注解学习
ControllerAdvice介绍 ControllerAdvice 是 Spring 框架提供的一个注解,用于定义一个全局的异常处理类或者说是控制器增强类(controller advice class)。这个特性特别适用于那些你想应用于整个应用程序中多个控制器的共有行为,比…...
【全开源】赛事报名系统源码(Fastadmin+ThinkPHP和Uniapp)
基于FastadminThinkPHP和Uniapp开发的赛事报名系统,包含个人报名和团队报名、成绩查询、成绩证书等。 构建高效便捷的赛事参与平台 一、引言:赛事报名系统的重要性 在举办各类赛事时,一个高效便捷的报名系统对于组织者和参与者来说都至关重…...
杰理-耳机进入关机关闭内内置触摸-节省功耗
杰理-耳机进入关机关闭内内置触摸-节省功耗 if (__this->init 0) {return LP_TOUCH_SOFTOFF_MODE_LEGACY; }if ((__this -> softoff_mode LP_TOUCH_SOFTOFF_MODE_ADVANCE) && (__this->softoff_keep 0)) {lp_touch_key_disable(); } __this->softoff_k…...
Homebrew安装、 Mac上pyenv的安装与使用,复制黏贴搞定,网上教程看得眼花缭乱的来看看,简单明了一步到胃!!
安装 Homebrew /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"安装pyenv brew install pyenv添加到终端使用的配置文件.zshrc、.bashrc 避免不必要的麻烦两个终端的配置文件都进行添加,文件在当前用户目…...
通过注意力调节实现更好的文本到图像生成对齐
近年来,生成性AI技术在众多领域取得了前所未有的进步。大规模预训练模型的出现激发了各种下游任务中的新应用。这在文本到图像生成领域尤为明显,例如Stable Diffusion、DALL-E 2和Imagen等模型已经显著展示了它们的能力。尽管如此,复杂提示中…...
Java开发大厂面试第26讲:生产环境如何排查问题和优化 JVM?
通过前面几个课时的学习,相信你对 JVM 的理论及实践等相关知识有了一个大体的印象。而本课时将重点讲解 JVM 的排查与优化,这样就会对 JVM 的知识点有一个完整的认识,从而可以更好地应用于实际工作或者面试了。 我们本课时的面试题是&#x…...
计算机科学的先驱者们
1. 艾伦图灵(Alan Turing): 图灵是计算机科学和人工智能的先驱之一,他提出了“图灵机”的概念,这是一种理论上的计算模型,奠定了现代计算机理论的基础。在第二次世界大战期间,图灵领导了一个团…...
哈希双指针
文章目录 一、哈希1.1两数之和1.2字母异位词分组1.3最长子序列 二、双指针2.1[移动零](https://leetcode.cn/problems/move-zeroes/description/?envTypestudy-plan-v2&envIdtop-100-liked)2.2[盛最多水的容器](https://leetcode.cn/problems/container-with-most-water/d…...
【网络】UDP协议
应用层协议是请求与响应服务,客户端的请求与服务器的响应是通过应用层传输到网络中的,但再实际上,应用层并不能直接通信,需要将数据进行报头的封装,向下层交付,贯穿整个协议栈。我们已经谈到应用层协议负责…...
牛马真的沉默了,入职第一天就干活
入职第一天就干活的,就问还有谁,搬来一台N手电脑,第一分钟开机,第二分钟派活,第三分钟干活,巴适。。。。。。 打开代码发现问题不断 读取配置文件居然读取两个配置文件,一个读一点,…...
解决在cmd里下载的库,但IDLE还是显示不存在的问题
原因一: 环境变量配置 首先,你需要确认你安装库的时候使用的Python环境是否和IDLE使用的Python环境是同一个。如果cmd中你使用的是系统路径下的Python,而IDLE使用的是另一个路径下的Python,那么你在cmd中下载的库,IDL…...
嵌入式全栈开发学习笔记---C语言笔试复习大全23
目录 联合体 联合体的定义 联合体的长度 如果来判断设备的字节序? 如何把大端数据转换成小端数据? 枚举 枚举的定义 上一篇复习了结构体,这一节复习联合体和枚举。 说明:我们学过单片机的一般都是有C语言基础的了ÿ…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
