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

数据库实验一

-- 显示当前可用的数据库
SHOW DATABASES;-- 选择当前数据库
SELECT DATABASE();-- 创建一个名为studentsdb的数据库并选择它
CREATE DATABASE studentsdb;
USE studentsdb;-- 创建名为stuinfo的学生信息表
CREATE TABLE stuinfo
(学号     CHAR(8) NOT NULL,    -- 学号姓名     CHAR(8) NOT NULL,    -- 姓名性别     CHAR(2),            -- 性别出生日期 DATE,               -- 出生日期籍贯     VARCHAR(10),        -- 籍贯PRIMARY KEY (学号)           -- 设置学号为主键
) COMMENT '学生表';-- 创建名为course的课程表
CREATE TABLE course
(课程编号 CHAR(4) NOT NULL,    -- 课程编号课程名称 VARCHAR(50),         -- 课程名称学分     INT,                -- 学分PRIMARY KEY (课程编号)       -- 设置课程编号为主键
) COMMENT '课程表';-- 创建名为grade的成绩表
CREATE TABLE grade
(学号     CHAR(8) NOT NULL,    -- 学号课程编号 CHAR(4) NOT NULL,    -- 课程编号分数     DECIMAL(5, 2),       -- 分数,修改数据类型为DECIMALPRIMARY KEY (学号, 课程编号)  -- 设置学号和课程编号为联合主键
);-- 插入学生信息
INSERT INTO stuinfo
VALUES(202001, '张青平', '男', '2000-10-01', '福州'),(2020002, '刘东阳', '男', '1998-12-09', '杭州'),(2020003, '马晓夏', '女', '1995-05-12', '合肥'),(2020004, '钱忠理', '男', '1994-09-23', '长沙'),(2020005, '孙海洋', '男', '1995-04-03', '北京'),(2020006, '郭小斌', '男', '1997-11-10', '上海'),(2020007, '肖月玲', '女', '1996-12-07', '南京'),(2020008, '张玲珑', '女', '1997-12-24', '苏州');-- 插入课程信息
INSERT INTO course
VALUES('001', '计算机应用基础', 2),('002', 'C语言程序设计', 2),('003', '数据库原理及应用', 2),('004', '英语', 4),('005', '高等数学', 4);-- 插入成绩信息
INSERT INTO grade
VALUES('2020001', '003', 88),('2020001', '004', 85),('2020001', '005', 77),('2020002', '001', 73),('2020002', '004', 79),('2020002', '005', 73),('2020003', '001', 84),('2020003', '002', 92);-- 修改课程表,删除课程名称列
ALTER TABLE courseDROP COLUMN 课程名称;-- 修改成绩表,将分数列的数据类型更改为DECIMAL(5, 2)
ALTER TABLE gradeMODIFY COLUMN 分数 DECIMAL(5, 2);-- 修改学生信息表,添加备注列
ALTER TABLE stuinfoADD COLUMN 备注 VARCHAR(50);-- 创建新的数据库studb
CREATE DATABASE studb;
-- 切换到新数据库studb
USE studb;
-- 创建一个新表stud,结构与studentsdb.stuinfo相同
CREATE TABLE studb.stud LIKE studentsdb.stuinfo;
-- 复制数据到新表
-- INSERT INTO studb.stud SELECT * FROM studentsdb.stuinfo;-- 删除学号为2020004的学生记录
-- DELETE FROM studb.stud WHERE 学号='2020004';-- 更新学号为2020002的学生的籍贯为蚌埠市
-- UPDATE studb.stud SET 籍贯='蚌埠市' WHERE 学号='2020002';-- 删除备注列
-- ALTER TABLE studb.stud DROP COLUMN 备注;-- 删除新的数据库studb
-- DROP DATABASE studb;-- 创建一个临时表tempGrade,结构与grade表相同
CREATE TEMPORARY TABLE IF NOT EXISTS tempGrade LIKE grade;
-- 更新学生成绩,将低于平均分的女生的成绩增加10分
UPDATE grade g
SET 分数 = 分数 + 10
WHERE g.学号 IN (SELECT 学号 FROM stuinfo WHERE 性别 = '女')AND g.分数 < (SELECT AVG(tempGrade.分数) FROM tempGrade);
-- 删除临时表
DROP TEMPORARY TABLE tempGrade;-- 更新课程编号为'002'的课程成绩,根据条件提高分数
UPDATE grade g
SET 分数 = IF(g.分数 > 75, g.分数 * 1.04, g.分数 * 1.05)
WHERE g.课程编号 = '002';-- 删除分数小于60的成绩记录
DELETE FROM grade WHERE grade.分数 < 60;

相关文章:

  • pod详解
  • Android Google登录并获取token(亲测有效)
  • 【Python】for循环方法中的range()方法参数介绍
  • c++装饰器模式
  • 数据库的本质永远都不会改变基础语句(第二十二课)
  • Hadoop RPC简介
  • Linux根目录下的目录结构及其作用详解
  • pc通过window.open打开新页面,新页面要使用原来页面的token
  • 思腾云计算
  • 商家为什么要做霸王餐,外卖霸王餐赚钱吗?
  • QMI8658A_QMC5883L(9轴)-EVB 评估板-使用说明书
  • docker 存储目录迁移
  • 笔记软件Notability mac中文版软件功能
  • Linux入门指令和权限讲解
  • Nacos全面知识 ----微服务 SpringCloud
  • hexo+github搭建个人博客
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 《Java编程思想》读书笔记-对象导论
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Django 博客开发教程 8 - 博客文章详情页
  • ES10 特性的完整指南
  • IDEA 插件开发入门教程
  • leetcode46 Permutation 排列组合
  • Logstash 参考指南(目录)
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python十分钟制作属于你自己的个性logo
  • Spark学习笔记之相关记录
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 测试如何在敏捷团队中工作?
  • 检测对象或数组
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用docker-compose进行多节点部署
  •  一套莫尔斯电报听写、翻译系统
  • 正则表达式
  • zabbix3.2监控linux磁盘IO
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​flutter 代码混淆
  • #{}和${}的区别?
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (13)Hive调优——动态分区导致的小文件问题
  • (3)选择元素——(17)练习(Exercises)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (LeetCode 49)Anagrams
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (小白学Java)Java简介和基本配置
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .gitignore文件---让git自动忽略指定文件
  • .NET Core 实现 Redis 批量查询指定格式的Key