mysql 综合练习
-- 设环境如下 : 一个系有多个专业,一个专业一年只招一个班,一个班有多个学生
-- 建立 系,班级,学生的数据库
-- 关系模式为:班:CLASS (班号classid,专业名subject,系名deptname
-- 入学年份enrolltime,人数num)
-- 学生:STUDENT (学号studentid,姓名name,年龄age,班号classid)
-- 系:DEPARTMENT(系号departmentid,系名deptname)
-- 完成以下功能
-- 建表声明主外码,department是唯一约束,学生姓名不能空,自行插入数据
CREATE TABLE department (
departmentid VARCHAR(32) PRIMARY KEY ,
deptname VARCHAR(32) UNIQUE NOT NULL);
DROP TABLE department
CREATE TABLE class(
classid INT PRIMARY KEY ,
`subject` VARCHAR(32) NOT NULL,
deptname VARCHAR(32),
enrolltime YEAR,
num INT NOT NULL DEFAULT 0,
FOREIGN KEY (deptname) REFERENCES department(deptname));
DROP TABLE class
CREATE TABLE student (
studentid INT PRIMARY KEY ,
`name` VARCHAR(32) NOT NULL DEFAULT '',
age INT,
classid INT ,
FOREIGN KEY(classid) REFERENCES class(classid));
DROP TABLE student
INSERT INTO class VALUES
(101,'软件','计算机','1995',20),
(102,'微电子','计算机','1996',30),
(111,'无机化学','化学','1995',29),
(112,'高分子化学','化学','1996',25),
(121,'统计数学','数学','1995',20),
(131,'现代语言','中文','1996',20),
(141,'国际贸易','经济','1997',30),
(142,'国际金融','经济','1996',14);
INSERT INTO student VALUES
(8101,'张三',18,101),
(8102,'钱四',16,121),
(8103,'王玲',17,131),
(8105,'李飞',19,102),
(8109,'赵四',18,141),
(8110,'李可',20,142),
(8201,'张飞',18,111),
(8302,'周瑜',16,112),
(8203,'王亮',17,111),
(8305,'董庆',19,102),
(8409,'赵龙',18,101),
(8510,'李丽',20,142);
INSERT INTO department VALUES
('001','数学'),('002','计算机'),
('003','化学'),('004','中文'),
('005','经济');
-- 找出所有姓李的学生
SELECT * FROM student
WHERE `name` LIKE '李%';
-- 列出所有开设超过一个专业的系的名字
SELECT deptname,COUNT(*) AS c FROM class
GROUP BY deptname
HAVING c > 1;
-- 列出人数>=30的系的编号和名字(先查各个系多少人做成临时表,使用联合查询)
SELECT departmentid,department.deptname ,tem.nums
FROM department ,(SELECT deptname,SUM(num)AS nums FROM class
GROUP BY deptname
HAVING nums >= 30) tem
WHERE department.deptname = tem.deptname
-- 学校又新增加了一个物理系,编号为006
INSERT INTO department VALUES(006,'物理');
-- 张三退学,更新相关表 人数减一,两个语句,用事务保持一致
START TRANSACTION ;#开始事务
# 人数减少
UPDATE class SET num = num - 1
WHERE classid = (SELECT classid FROM student
#删除学生 where `name` = '张三');
DELETE FROM student
WHERE `name` = '张三';
SELECT * FROM class
SELECT * FROM student
COMMIT;#提交事务
mysql 综合练习相关推荐
- 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
方法一: 尝试用MySQL Adminstrator GUI Tool登入MySQL Server,Server却回复错误讯息:Host '60-248-32-13.HINET-IP.hinet.ne ...
- JAVA+MySQL综合笔记
Java+MySQL综合运用笔记 一.Java连接使用mysql的5个思路过程 首先导入JDBC驱动jar包放到lib文件夹里面. 1.加载驱动方法 ①注册驱动:DriverManager.reg ...
- mysql综合案例 数据表的基本操作
mysql综合案例 数据表的基本操作 创建修改删除表,掌握数据表的基本操作 创建数据库company,按下表创建两个table名为offices和employees offices表结构 字段名 数据 ...
- mysql支持啥系统_MySQL支持的操作系统列表MySQL综合 -电脑资料
我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系统是可能的, 已经报告MySQL可以在下列操作系统/线程包的组合上成功地进行编译.注意,对于很多操作 ...
- MySQL综合测评_java+mysql生综合素质测评系统设计与实现
摘要随着科技水平的不断提高,许多工作都在计算机系统的帮助下在不断地发展和进步.使用日趋成熟的计算机技术来替代传统的人工手动模式,是当今社会不可逆转的必然趋势.计算机已进入人类社会的各个领域,发挥着越来 ...
- jsp+ssm+mysql综合项目实战教程:开发通用进销存管理系统
课程简介 这是一款由jsp+ssm+mysql实现的企业库存进销存管理系统项目,这个进销存系统功能比较简单,采用了ssm框架,功能结构非常简单明了,界面也比较清爽大气,非常适合学生和Java新手拿来学 ...
- mysql综合实例注意点
1 WITH ROLLUP的小技巧 WITH ROLLUP可以把所有数据作为一组,再起一行.一般用于下面的总计. SELECT note, SUM(num) FROM books GROUP BY n ...
- 【MySQL综合练习1】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创建表 一.练习 1.查询"c001"课程比"c002"课程成绩高的所有学生的学号: 2 ...
- MySQL综合练习4
目录 一.数据库创建 二.练习题 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名和平均 ...
- 【Kay】MySQL综合题——复旦浙大练题情况
1.运营想要了解复旦大学的每个用户在8月份练习的总题目数和回答正确的题目数,请取出相应明细数据,对于在8月份没有练习过的用户,答题数结果返回0 SELECT u.device_id, u.univer ...
最新文章
- 浅谈自然语言处理技术在自动化的应用
- python中intvar_在Python线程中使用Intvar/DoubleVar是否安全?
- 硅谷顶级VC:“S曲线”看四大风口,创企成功机会巨大
- 你的心思,我如何懂得?
- 如何将字符数组里的内容转换成uint8的类型?将一个字符数组里面的所有元素变成一个字符串?
- warning: directory not found for option“XXXXXX”
- 重磅!双腿机器人Digit v2视频流出,自主搬卸货物噪音极小
- java项目功能详情介绍,JAVAEE—spring的详细介绍
- Linux常见服务构建
- 二叉树的前序中序后序 递归与非递归解法
- wincc工程组态论文_仪表人零基础学系统组态,必备知识!2020.12.12
- drupal简体中文语言包安装方法
- 二维数组更改vue,VueX中直接修改数据报错,修改一维数组,二维数组,报错的原因...
- Android之实现手写电子签名
- 我国计算机系统安全保护等级的划分,规范《GB17859-1999-计算机信息系统安全保护等级划分准则》.pdf...
- 编译器工具链初步解析
- Git提交合并提交及注释
- 摄影技能技巧大全 - 太精彩啦,年后弄个单反按着练练!
- 树莓派Raspberry Pi 系统搭建和智能机器人小车的组装调试
- 存款利息计算器html代码,html+jQuery简单的利息计算器
热门文章
- DataStory创始人兼CEO徐亚波博士获年度青年创业榜样奖项
- php博客平台 开源,PHP开源博客Blog - PHP开源网(PHP-OPEN.ORG)
- 计算机硬盘的文件怎么删除文件,如何彻底删除文件?彻底删除硬盘数据的几种方法-电脑教程...
- ubuntu实现屏幕的旋转和开启自动旋转屏幕
- 0基础转行3D建模,从月薪3000到15k,我整理的超全学习指南
- BottomNavigationView 动态切换Icon且保留原图颜色
- BZOJ3162: 独钓寒江雪
- unity 报错 Some objects were not cleaned up when closing the scene. 原因与方案
- Linux那些事儿 之 戏说USB(21)向左走,向右走
- TILERA--Makefile实例