MySQL自测测试
#建学生信息表student
create table student
(
sno varchar(20) not null primary key,
sname varchar(20) not null,
ssex varchar(20) not null,
sbirthday datetime,
class varchar(20) );
#建立教师表
create table teacher
(
tno varchar(20) not null primary key,
tname varchar(20) not null,
tsex varchar(20) not null,
tbirthday datetime,
prof varchar(20),
depart varchar(20) not null );
#建立课程表course
create table course
(
cno varchar(20) not null primary key,
cname varchar(20) not null,
tno varchar(20) not null,
foreign key(tno) references teacher(tno) );
#建立成绩表
create table score
(
id int auto_increment primary key,
sno varchar(20) not null,
foreign key(sno) references student(sno),
cno varchar(20) not null,
foreign key(cno) references course(cno),
degree decimal ); #添加学生信息
insert into student values('108','曾华','男','1977-09-01','95033');
insert into student values('105','匡明','男','1975-10-02','95031');
insert into student values('107','王丽','女','1976-01-23','95033');
insert into student values('101','李军','男','1976-02-20','95033');
insert into student values('109','王芳','女','1975-02-10','95031');
insert into student values('103','陆君','男','1974-06-03','95031'); #添加教师表
insert into teacher values('804','李诚','男','1958-12-02','副教授','计算机系');
insert into teacher values('856','张旭','男','1969-03-12','讲师','电子工程系');
insert into teacher values('825','王萍','女','1972-05-05','助教','计算机系');
insert into teacher values('831','刘冰','女','1977-08-14','助教','电子工程系'); #添加课程表
insert into course values('3-105','计算机导论','825');
insert into course values('3-245','操作系统','804');
insert into course values('6-166','数字电路','856');
insert into course values('9-888','高等数学','831');
#添加成绩表 insert into score values(1,'103','3-245','86');
insert into score values(2,'105','3-245','75');
insert into score values(3,'109','3-245','68');
insert into score values(4,'103','3-105','92');
insert into score values(5,'105','3-105','88');
insert into score values(6,'109','3-105','76');
insert into score values(7,'103','3-105','64');
insert into score values(8,'105','3-105','91');
insert into score values(9,'109','3-105','78');
insert into score values(10,'103','6-166','85');
insert into score values(11,'105','6-166','79');
insert into score values(12,'109','6-166','81'); 1、 查询Student表中的所有记录的Sname、Ssex和Class列。
select sname,ssex,class from student;

2、 查询教师所有的单位即不重复的Depart列。
select distinct depart from teacher;#distinct意思是过滤不重复的

4、 查询Score表中成绩在60到80之间的所有的学生记录。
select student.sname from score
left join student on student.sno=score.sno
where degree> and degree<
group by student.sname

5、 查询Score表中成绩为85,86或88的学生记录
select student.sname from score
left join student on student.sno=score.sno
where Degree in(,,)
group by student.sname

6、 查询Student表中“95031”班或性别为“女”的同学记录。
select * from student where class='' or ssex='女';

7、 以Class降序查询Student表的所有记录。
select * from student order by class desc; #desc 是降序所默认为升序

8、 以Cno升序、Degree降序查询Score表的所有记录。
select * from Score order by cno asc,degree desc #asc为升序,默认为asc desc为降序

、 查询所有学生的Sname、Cno和Degree列。
9、 查询“95031”班的学生人数。
select count(*) from student where class='';

10.查询Score表中的最高分的学生学号和课程号。(子查询或者排序)
select cno,sno from score where degree=(select max(degree) from score);
select cno,sno from score order by degree desc limit 0,1; #limit 0,1 意思是区一行 0,2就是取二行

11、 查询每门课的平均成绩
select avg(degree) from score group by cno;

12、 查询Score表中至少有5名学生选修的并以3开头的课程的平均分数
select avg(degree) from score where cno like '3%' and cno in(select cno from score group by cno having count(*)>=);
#like 模糊查询里面包含3的

13 查询分数大于70,小于90的Sno列。
select sno from score where degree> and degree< group by sno;

14、 查询所有学生的Sname、Cno和Degree列。

15、 查询所有学生的Sno、Cname和Degree列。
MySQL自测测试的更多相关文章
- mysql+mycat压力测试一例【转】
前言 有很多人担心生产系统上新东西的程序怕压力跟不上和稳定性不行,是的,大家都怕,所以领导要求做一次压力测试,我个人也觉得是有必要的. 如果按原理来说,mycat如果不做分片,纯粹只是代理的话,他所做 ...
- MySQL Test Run 测试框架介绍
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 介绍 MySQL Test Run 简称MTR,是MySQL官方提供的自动化测试框架,执行脚本在发布路径的mysql-te ...
- MySQL MHA 搭建&测试
一:背景介绍 MHA(Master HA)是一款开源的MySQL的高可用工具,能在MySQL主从复制的基础上,实现自动化主服务器故障转移.虽然MHA试图从宕机的主服务器上保存二进制日志,但并不是总是可 ...
- Mysql压测工具mysqlslap 讲解
在mysql5.1以后的版本:客户端带了个工具mysqlslap可以对mysql进行压力测试: 可以使用mysqlslap --help来显示使用方法: Default options are rea ...
- MySQL安装之“测试”
将MySQL安装完成之后还需要对其进行测试,判断MySQL是否安装成功,MySQL其可视化与我们之前使用过的SQLserver不同.MySQL其中测试方法有两种:一.使用MySQL命令进行测试:二.安 ...
- centos Ddos防范开源软件使用及apache ab压测 测试
1,检索特定字符的相同行,用于过滤点一些命令行的头说明
- MySql的入侵测试以及防范
在做了之前的SQL SERVER之后,便很想尝试一下MYSQL的入侵测试已经防范,与大家一起分享. 总的来说,我一直在用的是MYSQL,对MYSQL比较熟悉,相比较而言,感觉MYSQL更安全,这只是我 ...
- certutil在渗透测测试中的使用技巧
certutil在渗透测测试中的使用技巧 0x01 前言 最近在Casey Smith @subTee的twitter上学到了关 ...
- python mysql数据库压力测试
python mysql数据库压力测试 pymysql 的执行时间对比 1,装饰器,计算插入1000条数据需要的时间 def timer(func): def decor(*args): start_ ...
随机推荐
- LC 592. Fraction Addition and Subtraction
Given a string representing an expression of fraction addition and subtraction, you need to return t ...
- mysql密码设置为空怎么办?
由于很多童鞋安装使用MySQL时,安装时没有设置密码,或者像我一样图省事设置密码为空,想为其设置新密码: 1.点击 开始------>运行----在弹出的对话框中输入cmd 如下图: 2.使用 ...
- Linux通过AIO进行异步读文件
下面列出源代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <a ...
- thinkphp5 更改入口文件在主目录
默认thinkPHP入口文件在public/index.php,而在虚拟主机部署时,不能设置访问路径,因此需要将入口文件放置在主目录上. 一.主目录下新建index.php 复制以下内容 // 定义应 ...
- jemter 90%line的解释
假如: 有10个数: 1.2.3.4.5.6.7.8.9.10 按由大到小将其排列. 求它的第90%百分位,也就是第9个数刚好是9 ,那么他的90%Line 就是9 . 另一组数: 2.2.1. ...
- 查看oracle数据库的链接数和用户
http://www.cnblogs.com/is1988/archive/2012/11/21/2780067.html 1.查询oracle的连接数select count(*) from v$s ...
- c盘瘦身、windows解除上网限速、贴膜注意事项
1.c盘瘦身 1.1.https://zhidao.baidu.com/question/2057622451987202467.html 1.2.把C盘的swap空间换到D盘 2.windows解除 ...
- vim复制粘贴导致多行出现#号解决办法
在vim内复制多行假如复制的行带有#号会导致其他不带#号的行自动加# 解决办法,输入一下命令再粘贴即可 :set paste
- 微信小程序 仿‘得到app’分类列表页
今天另起一篇,贴出完整的代码,大概思路是左侧大分类列表,点击后联动右侧二级分类,及下面文章列表,点击二级分类也联动下面文章列表. 代码如下: <view class="page&quo ...
- vscode自动生成文件头部注释和函数注释
参考链接:https://blog.csdn.net/sueRimn/article/details/88048276