当前位置: 首页 > article >正文

头歌作业-mysql数据库系统(全部)

每个作业只包含重要的建表代码,需要先进入数据库,创建基本的数据库之后才能使用下述命令创建表结构


MySql数据库-初识MySql

第一关:创建数据库

create database MyDb;

第二关:创建表

create table t_emp(id int,name varchar(32),deptId int,salary float
);

第三关:使用主键约束

创建t_user1表

CREATE TABLE t_user1 (  userId INT PRIMARY KEY,          -- 用户ID  name VARCHAR(32) NOT NULL,      -- 用户名  password VARCHAR(11) NOT NULL,  -- 密码  phone VARCHAR(11),               -- 电话号码  email VARCHAR(32)                -- 邮箱  
);

创建t_user2表

CREATE TABLE t_user2 (  name VARCHAR(32) NOT NULL,       -- 用户名  phone VARCHAR(11),               -- 电话号码  email VARCHAR(32),               -- 邮箱  PRIMARY KEY (name, phone)        -- 联合主键  
);

第四关:外键约束

创建student表

create table t_student(id int primary key ,name varchar(22),classId int ,constraint  fk_stu_class1 foreign key (classId) references t_class(id));

创建class表

create table t_class(id int primary key ,name varchar(22)
);

第五关:添加常用约束

创建t_user表

CREATE TABLE t_user (id INT AUTO_INCREMENT PRIMARY KEY, -- 用户ID,主键,自动增长  username VARCHAR(32) NOT NULL UNIQUE, -- 用户名,非空,唯一  sex VARCHAR(4) DEFAULT '男' -- 性别,默认为“男”  
);

数据库实验二:数据表中数据的插入,修改和删除

数据表中插入一条记录,对指定字段赋值

INSERT INTO reader (xm, dhhm) VALUES ('林团团', '13507311234');

数据表中插入一条记录,对所有字段赋值

INSERT INTO reader (dzzh, xm, xb, sf, dhhm) VALUES (2, "陈洁", "女", "教研人员", 13319551234);

数据表中插入多条记录

insert into reader(xm,xb,sf,dhhm) values('黄小小','男','研究生',13316789987),('刘大任','男','工作人员',18012341234),('邓朝阳','女','研究生',17716554432);

在数据表中修改单条数据记录的单个字段的值

UPDATE reader SET dhhm = '17718991989' WHERE xm = '林团团';

在数据表中修改单条记录的多个字段的值

update reader set dhhm='13315667745',sf='工作人员' where xm='陈洁';

修改数据表的多条记录

update reader set dzzh=dzzh+10;

删除数据表中的记录

DELETE FROM reader WHERE xm = '陈洁';

删除数据表中的多条记录

delete from reader where sf='研究生';

删除数据表中的所有数据

TRUNCATE TABLE reader;

数据库实验三 数据查询一

第一关:按条件查询单表的所有字段

use province;#代码开始#第一题
select * from jdxx where qxmc="开福区";#第二题
select * from jdxx where qxmc in("开福区","岳麓区");#第三题
select * from jdxx where cs="长沙市" and name="西湖街道";#代码结束

第二关:查询唯一值

use province#代码开始select distinct qxmc from jdxx where sf="湖南省";
select distinct qxmc from jdxx where cs="长沙市";#代码结束

第三关:统计查询

use province;
#代码开始
#答案1
select count(name)  from jdxx where sf="湖南省";
#答案
select count(name)  from jdxx where cs="长沙市";select  count(distinct qxmc)  from jdxx where sf="湖南省";
select count(distinct qxmc)  from jdxx where cs="长沙市";

第四关:分组查询

use province;
SELECT sf, count(*) 
FROM jdxx  
GROUP BY sf;  
SELECT cs, count(*) 
FROM jdxx  
GROUP BY cs  
HAVING count(name) > 200;  
SELECT qxmc, count(*) 
FROM jdxx  
WHERE cs = '长沙市'  
GROUP BY qxmc;  

第五关:数据排序

 use province;#代码开始#第一题
SELECT *  
FROM jdtj  
ORDER BY jdgs DESC  
LIMIT 10;  #第二题SELECT *  
FROM jdtj  
ORDER BY jdgs ASC  
LIMIT 10;  #第三题
SELECT *  
FROM jdtj  
WHERE jdgs > 35  
ORDER BY jdgs DESC, sf ASC;  #代码结束

数据库实验一:数据库和数据表的建立,修改和删除

第一关:建立数据库

create database jwxt;
show databases;

第二关:建立学生数据表

-- 使用数据库 jwxt  
USE jwxt;  -- 创建 student 表  
CREATE TABLE student (  studentid CHAR(12) PRIMARY KEY,  name VARCHAR(10),  birthday DATE,  sex ENUM('男', '女') DEFAULT '男',  nativeplace VARCHAR(3),  political ENUM('党员', '团员', '群众') DEFAULT '群众',  interest SET('运动', '旅游', '阅读', '写作', '音乐', '影视', '电子竞技', '其他'),  resume TEXT,  photo VARCHAR(20)  
);  
-- 显示 student 表的结构  
DESC student;  

第三关:建立课程数据表

-- 使用数据库 jwxt  
USE jwxt;  -- 创建 course 表  
CREATE TABLE course (  courseid CHAR(4) PRIMARY KEY,  coursename VARCHAR(10),  department VARCHAR(20),  credit TINYINT UNSIGNED,  required TINYINT(1) DEFAULT 1,  period TINYINT UNSIGNED,  introduce VARCHAR(100)  
);  -- 显示 course 表的结构  
DESC course;  

第四关:建立成绩数据表

-- 使用数据库 jwxt  
USE jwxt;  -- 创建 score 表  
CREATE TABLE score (  studentid VARCHAR(12),  -- 学号  courseid VARCHAR(4),     -- 课程编号  session YEAR,            -- 学年  score DECIMAL(4, 1) ,  -- 分数,长度4位,小数位1位  PRIMARY KEY (studentid, courseid, session)  -- 主键组合  
);  -- 显示 score 表的结构  
DESC score;  

第五关:修改数据表名字

use jwxt;
#代码开始alter table student rename xs;#代码结束describe xs;

第六关:在数据表中添加字段

 use jwxt;
#代码开始alter table student add address varchar(30);#代码结束describe student;

第七关:修改数据表的字段名称

 use jwxt;#代码开始
alter table course change coursename kcmc varchar(10);#代码结束describe course;

第八关:修改数据表的字段类型

use jwxt;
#代码开始
alter table course modify introduce text;
#代码结束
describe course;

第九关:删除数据表中的字段

 use jwxt;#代码开始
alter table student drop address;#代码结束describe student;

第十关:删除数据表

 use jwxt;#代码开始
drop table student;
show tables;#代码结束

第十一关:删除数据库

 #代码开始
drop database jwxt;
show databases;#代码结束

数据库教学案例三 数据查询一

第一关:查询数据表的所有字段或指定字段及表达式

 use jwxt;#代码开始#第一题
SELECT *  
FROM student;  #第二题
SELECT name, birthday  
FROM student;  #第三题
SELECT   name,   DATE_FORMAT(birthday, '%c月%e日') AS 生日 FROM student;  # 第四题
SELECT   name,  YEAR(CURDATE()) - YEAR(birthday)-1 AS 年龄  FROM student;   #代码结束

第二关:按条件查询单表

 use jwxt;
-- 打开数据库(如果使用 MySQL,需先使用 `USE jwxt;`)
-- 第一题:显示男生的学号、name
SELECT studentid, name FROM student WHERE sex = '男';-- 第二题:显示湖南湖北nativeplacestudent的name和nativeplace
SELECT name, nativeplace FROM student WHERE nativeplace IN ('湖南', '湖北');#第三题
SELECT name, birthday
FROM student
WHERE TIMESTAMPDIFF(YEAR, birthday,'2025-01-01') BETWEEN 28 AND 30;-- 第四题:显示湖南的男student的所有字段
SELECT * FROM student WHERE nativeplace = '湖南' AND sex = '男';-- 第五题:显示所有湖南的student和所有男student的所有字段
SELECT * FROM student WHERE nativeplace = '湖南' OR sex = '男';

第三关:查询唯一值:

use jwxt#代码开始#第一题
SELECT DISTINCT nativeplace FROM student;  #第二题
SELECT distinct YEAR(birthday) AS 'year(birthday)' FROM student;  #代码结束

第四关:数据排序

 use jwxt;#代码开始#第一题
SELECT name, sex, birthday
FROM student
ORDER BY birthday DESC;#第二题
SELECT name, sex, birthday
FROM student
ORDER BY sex, birthday DESC;#第三题
SELECT name, nativeplace
FROM student
ORDER BY nativeplace;#第四题SELECT name, sex, birthdayFROM studentORDER BY birthday DESCLIMIT 3;#代码结束

第五关:统计查询

use jwxt;
#代码开始
#第一题
SELECT count(*)
FROM student
WHERE sex = '女';
#第二题
SELECT avg(score) 
FROM score
WHERE studentid = '201221120201';
#第三题
SELECT MAX(score) AS 最高分,MIN(score) AS 最低分,AVG(score) AS 平均分FROM scoreWHERE courseid = '0101';#代码结束

第六关:分组查询一

use test;
#代码开始
#第一题SELECT name, AVG(cj) AS `avg(cj)`
FROM score
GROUP BY name;#第二题SELECT course, AVG(cj) AS `avg(cj)`
FROM score
GROUP BY course;#代码结束	

第七关:分组查询二

 use jwxt;
#代码开始
#题目1
SELECT studentid, AVG(score) AS 平均分
FROM score
GROUP BY studentid
HAVING AVG(score) > 80;
#题目2
SELECT nativeplace, COUNT(*) AS `count(*)`
FROM student
WHERE sex = '男'
GROUP BY nativeplace;#题目3
SELECT nativeplace, COUNT(*) AS `count(*)`
FROM student
GROUP BY nativeplace
HAVING COUNT(*) > 2;#题目4
SELECT nativeplace, COUNT(*) AS `count(*)`
FROM student
WHERE sex = '男'
GROUP BY nativeplace
HAVING COUNT(*) > 2;
#题目5
SELECT sex, political, COUNT(*) AS `count(*)`
FROM student
GROUP BY sex, political;
#代码结束

数据库实验一 数据库和数据表的建立、修改和删除

第一关:建立数据库

 #代码开始
create database library;
show databases;#代码结束

第二关:建立读者数据表

 #代码开始
use library;
CREATE TABLE dz (dzzh INT(3) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,   xm VARCHAR(8) NOT NULL,                   -- 姓名,不能为空  xb ENUM('男','女') DEFAULT '男',           -- 性别,默认为男  sf ENUM('研究生','工作人员','教研人员') DEFAULT '研究生',  -- 身份  PRIMARY KEY (dzzh)                        -- 设置 dzzh 为主键  
);DESCRIBE dz;  #代码结束

第三关:修改数据表名字

use library;
#代码开始alter table dz rename reader;#代码结束describe reader;

第四关:在数据表中添加字段

 use library;
#代码开始alter table reader add dhhm varchar(11);#代码结束describe reader;

第五关:修改数据表的字段名称

 use library;
ALTER TABLE reader   
CHANGE dhhm mobile VARCHAR(11);  -- 这里假设长度为 15,根据需要调整  describe reader;

第六关:修改数据表的字段类型

use library;
#代码开始
alter table reader modify dhhm varchar(12);
#代码结束
describe reader;

第七关:删除数据表中的字段

 use library;#代码开始
alter table reader drop dhhm;#代码结束describe reader;

第八关:删除数据表

 use library;#代码开始
drop table reader;
show tables; #代码结束

第九关:删除数据库

 #代码开始
drop database library;
show databases;#代码结束

数据库教学案例二 数据表中数据的插入、修改和删除

第1关:数据表中插入一条记录,对所有字段赋值

    use jwxt;#代码开始insert into student (studentid,name,birthday,sex,nativeplace,political,interest,resume,photo) values ('201221120101','王刚','1994-07-26','男','广西','团员','运动','2013年获得国家奖学金','');

第2关:数据表中插入一条记录,对指定字段赋值

use jwxt;
#代码开始
insert into student(studentid,name,birthday,sex,nativeplace,political,interest,resume,photo)
values ('2023120101','李向','2000-08-30','男',null,'群众',null,null,null);#代码结束select * from student;

第3关:数据表中插入多条记录,对指定字段赋值

 use jwxt;#代码开始insert into student(studentid,name,birthday,sex,nativeplace,political,interest,resume,photo)values('201221120103','何丽洁','1994-08-30','女','辽宁','群众',null,null,null),('201221120105','彭悦','1993-08-19','男','湖南','群众',null,null,null),('201221120107','杨波','1994-02-20','男','山东','群众',null,null,null);#代码结束select * from student;

第4关:在数据表中修改单条数据记录的单个字段的值

 use jwxt;
#代码开始update course set credit=3 where coursename='计算机概论'; #代码结束select * from course;

第5关:在数据表中修改单条记录的多个字段的值

 use jwxt;#代码开始update course set period=16,credit=1 where coursename='英美文学';#代码结束select * from course;	

第6关:修改数据表的多条记录

use jwxt;
#代码开始
update  course set period=period+5 where required='1';
#代码结束
select * from course;

第7关:删除数据表的多条记录

 use jwxt;#代码开始delete from course where department='新影院';#代码结束select * from course;

第8关:删除数据表的所有数据

 use jwxt;#代码开始delete from course;#代码结束select * from course;

相关文章:

头歌作业-mysql数据库系统(全部)

每个作业只包含重要的建表代码,需要先进入数据库,创建基本的数据库之后才能使用下述命令创建表结构 MySql数据库-初识MySql 第一关:创建数据库 create database MyDb;第二关:创建表 create table t_emp(id int,name varchar(32…...

DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!

从央视到地方媒体,已有多家媒体机构推出AI主播,最近杭州文化广播电视集团的《杭州新闻联播》节目,使用AI主持人进行新闻播报,且做到了0失误率,可见AI正在逐渐取代部分行业和一些重复性的工作,这一现象引发很…...

mitt 依赖库详解

一、概述 mitt 是一个极其轻量级的 JavaScript 事件发射器库,实现了发布-订阅模式。该模式允许对象间松散耦合,一个对象(发布者)可以发布事件,而其他对象(订阅者)可以监听这些事件并作出响应。…...

C语言100天练习题【记录本】

C语言经典100题(手把手 编程) 可以在哔哩哔哩找到(url:C语言经典100题(手把手 编程)_哔哩哔哩_bilibili) 已解决的天数:一,二,五,六,八&#xf…...

DeepSeek【部署 03】客户端应用ChatBox、AnythingLLM及OpenWebUI部署使用详细步骤

DeepSeek客户端应用 1.ChatBox2.AnythingLLM3.OpenWebUI4.总结 客户端软件提供可视化的模型及参数配置,人性化的对话窗口及文件上传功能,大大降低了大模型的使用门槛。 1.ChatBox Chatbox AI 是一款 AI 客户端应用和智能助手,支持众多先进的…...

Python图形编程之EasyGUI: msgbox的用法

1 EasyGUI: msgbox的用法 1.1 基础用法:只显示信息 示例代码: from easygui import * msgbox("Hello, world!")效果: 1.2 扩展用法1:设置标题 示例代码: from easygui import * msgbox("Hello, …...

计算机底层知识一——从编程语言到可执行程序

好久没写博客了,近段时间事情比较杂,最近终于有时间回归了。其余代码写久了就会遇到许多奇奇怪怪的问题,这些问题绕不开许多底层知识,比如缺少动态依赖库、idea编译失败等等,虽然通过百度等搜索引擎,亦或是…...

中性点直接接地电网接地故障Simulink仿真

1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换) 2.系统仿真图: 3.中性点直接接地电网接地故障基本概念(本仿…...

解决Jenkins默认终止Shell产生服务进程的问题

1、Windows环境 Jenkins进行Build steps的使用Execute Windows batch command启动微服务(Jar包),Jenkins会默认终止Shell产生的服务进程,而在命令行能够正常运行的服务进程。 1.1 使用命令行启动服务是正常 使用命令行执行 正常…...

Spring Boot 项目中 Redis 常见问题及解决方案

目录 缓存穿透缓存雪崩缓存击穿Redis 连接池耗尽Redis 序列化问题总结 1. 缓存穿透 问题描述 缓存穿透是指查询一个不存在的数据,由于缓存中没有该数据,请求会直接打到数据库上,导致数据库压力过大。 解决方案 缓存空值:即使…...

STM32 I2C驱动开发全解析:从理论到实战 | 零基础入门STM32第五十步

主题内容教学目的/扩展视频I2C总线电路原理,跳线设置,I2C协议分析。驱动程序与调用。熟悉I2C总线协议,熟练调用。 师从洋桃电子,杜洋老师 📑文章目录 引言一、I2C驱动分层架构二、I2C总线驱动代码精析2.1 初始化配置&a…...

RuleOS:区块链开发的“破局者”,开启Web3新纪元

RuleOS:区块链开发的“破冰船”,驶向Web3的星辰大海 在区块链技术的浩瀚宇宙中,一群勇敢的探索者正驾驶着一艘名为RuleOS的“破冰船”,冲破传统开发的冰层,驶向Web3的星辰大海。这艘船,正以一种前所未有的姿…...

manus本地部署使用体验

manus部署 https://github.com/mannaandpoem/OpenManus git clone https://github.com/mannaandpoem/OpenManus.git 或者手工下载zip包解压,包很小,只有几百K。 cd OpenManus-main #创建python环境,有python3的可以用python3 python -m ven…...

OpenCV 拆分、合并图像通道方法及复现

视频讲解 OpenCV 拆分、合并图像通道方法及复现 环境准备:安装 OpenCV 库(pip install opencv-python) 内容: 1. 读取任意图片(支持 jpg/png 等格式) 2. 使用 split () 函数拆解成 3 个单色通道&#xf…...

manus本地部署方法研究测试

Manus本地部署方法,Manus邀请码实在太难搞了,昨晚看到有一个团队,5个人3个小时,一个完全免费、无需排队等待的OpenManus就做好了。 由于也是新手,找了好几轮,实在是没有找到合适的部署方法,自己…...

基于Python实现的智能旅游推荐系统(Django)

基于Python实现的智能旅游推荐系统(Django) 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat 系统功能实现 总体设计 系统实现 系统首页模块 统首页页面主要包括首页,旅游资讯,景点信息…...

C++--迭代器(iterator)介绍---主要介绍vector和string中的迭代器

目录 一、迭代器(iterator)的定义 二、迭代器的类别 三、使用迭代器 3.1 迭代器运算符 3.2 迭代器的简单应用:使用迭代器将string对象的第一个字母改为大写 3.3 将迭代器从一个元素移动到另外一个元素 3.4 迭代器运算 3.5 迭代器的复…...

SpringCloud——Consul服务注册与发现

一、为什么要引入服务注册中心 (1)为什么引入 微服务硬编码 IP / 端口的核心问题总结 环境变更敏感:当支付微服务的 IP 或端口修改时,订单微服务必须同步修改所有调用该支付服务的代码或配置,否则将无法正常通信无法…...

C语言_数据结构总结5:顺序栈

纯C语言代码,不涉及C 想了解链式栈的实现,欢迎查看这篇文章:C语言_数据结构总结6:链式栈-CSDN博客 这里分享插入一下个人觉得很有用的习惯: 1. 就是遇到代码哪里不理解的,你就问豆包,C知道&a…...

人工智能之数学基础:正交矩阵

本文重点 正交矩阵是线性代数中一个重要的特殊矩阵,它在许多领域都有广泛的应用。 什么是正交矩阵 如图所示,当矩阵A满足如上所示的条件的时候,此时我们就可以认为是正交矩阵,需要注意一点矩阵A必为方阵。 正交矩阵的充要条件 …...

前端打包优化相关 Webpack

前端打包优化相关 Webpack 打包时间的优化(基于 Vue CLI 4 Webpack 5) 1. Webpack 配置减少打包时间 1.1 对 JS 配置:排除 node_modules 和 src 中的打包内容 在开发环境下,修改 Webpack 的 JS 规则,排除 /node_m…...

抓包分析工具介绍

什么是抓包分析工具? 抓包分析工具,也称为网络数据包嗅探器或协议分析器,用于捕获和检查网络上传输的数据包。这些数据包包含了网络通信的详细信息,例如请求的资源、服务器的响应、HTTP 头信息、传输的数据内容等等。通过分析这些…...

Linux第一课

一、Linux背景与发展 1. 发展史 1968年,研究人员开发了Multics操作系统,为后续发展奠定了基础。 1969−1970年,Ken Thompson和Dennis Ritchie在Multics基础上开发了UNIX系统。 1991年,Linus Torvalds发布了Linux操作系统&#…...

2025/3/8 第 27 场 蓝桥入门赛 题解

1. 38红包【算法赛】 签到题&#xff1a; 算倍数就行了 #include <bits/stdc.h> using namespace std; int main() {int ans0;for(int i1;i<2025;i){if(i % 3 0)ans;else if(i % 8 0)ans;else if(i % 38 0)ans;}cout<<ans<<endl;return 0; } 2. 祝福…...

使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)

目录 1.安装Node.js和npm2.初始化项目3.安装Ollama4.下载DeepSeek模型5.创建Node.js服务器6.运行服务器7.Web UI对话-Chrome插件-Page Assist 1.安装Node.js和npm 首先确保我们机器上已经安装了Node.js和npm。如果未安装&#xff0c;可以通过以下链接下载并安装适合我们操作系…...

deepseek 3FS编译

3FS在ubuntu22.04下的编译&#xff08;记录下编译过程&#xff0c;方便后续使用&#xff09; 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…...

网安知识点

1.SQL注入漏洞产生的原因是&#xff1f; 前端传到后端的数据&#xff0c;没有经过任何处理&#xff0c;直接当作sql语句的一部分来执行 2.讲一下sql注入&#xff0c;写入webshell需要哪些前提条件 开启导入导出权限secure-file-priv 站点根目录位置/路径 mysql用户对站点根目…...

UniApp 运行的微信小程序如何进行深度优化

UniApp 运行的微信小程序如何进行深度优化 目录 引言性能优化 1. 减少包体积2. 优化页面加载速度3. 减少 setData 调用4. 使用分包加载 代码优化 1. 减少不必要的代码2. 使用条件编译3. 优化图片资源 用户体验优化 1. 优化交互体验2. 预加载数据3. 使用骨架屏 调试与监控 1. …...

leetcode-sql数据库面试题冲刺(高频SQL五十题)

题目&#xff1a; 577.员工奖金 表&#xff1a;Employee -------------------- | Column Name | Type | -------------------- | empId | int | | name | varchar | | supervisor | int | | salary | int | -------------------- empId 是该表中具有唯一值的列。 该表的每一行…...

图片分类实战:食物分类问题(含半监督)

食物分类问题 simple_class 1. 导入必要的库和模块 import random import torch import torch.nn as nn import numpy as np import os from PIL import Image #读取图片数据 from torch.utils.data import Dataset, DataLoader from tqdm import tqdm from torchvision impo…...