mysql 简单练习
1.查找全部学生的信息
[SQL]select * from student
受影响的行: 0
时间: 0.000s
2.查出成绩及格的所有人
[SQL]select * from student where StudentNo in (select StudentNo from result where StudentResult > 60)
受影响的行: 0
时间: 0.001s
3.查出所有指定年级的同学
[SQL]select * from student where GradeId in (1,2)
受影响的行: 0
时间: 0.001s
4.查出“赵”姓同学
[SQL]select * from student where StudentName like '赵%'
受影响的行: 0
时间: 0.000s
5.学生按学号降序查询出所有学生
[SQL]select * from student ORDER BY StudentNo desc
受影响的行: 0
时间: 0.001s
6.学生按住址升/降序排序查询
[SQL]select * from student ORDER BY Address asc
受影响的行: 0
时间: 0.001s
[SQL]select * from student ORDER BY Address desc
受影响的行: 0
时间: 0.001s
7.查询输出4条学生信息
[SQL]select * from student limit 4
受影响的行: 0
时间: 0.001s
8.查询输出第2条至第7条学生信息
[SQL]select * from student limit 1,6
受影响的行: 0
时间: 0.001s
9.求出全班平均分数
[SQL]select avg(StudentResult) from result
受影响的行: 0
时间: 0.001s
10.全校有多少学生
[SQL]select Count(*) from student
受影响的行: 0
时间: 0.000s
11.通过分组查询统计地址不同的学生人数
[SQL]select Address,Count(*) as `人数` from student GROUP BY Address
受影响的行: 0
时间: 0.011s
12.通过分组查询统计每学科的总分
[SQL]select s.SubjectName,SubjectNo,sum(StudentResult) as `总分` from result r LEFT join `subject` s on r.SubjectNo = s.SubjectId GROUP BY SubjectNo,s.SubjectName
受影响的行: 0
时间: 0.001s
13.通过分组查询得到总分在90分以上的学科
select s.SubjectName,SubjectNo,sum(StudentResult) as `zs` from result r LEFT join `subject` s on r.SubjectNo = s.SubjectId GROUP BY SubjectNo,s.SubjectName
having zs > 90
14.内连接查询学生表和年级表
[SQL]select * from student s join grand g on s.GradeId = g.GrandId
受影响的行: 0
时间: 0.001s
15.左/右连接查询成绩表和科目表
[SQL]select * from result r left join `subject` s on r.SubjectNo = s.SubjectId
受影响的行: 0
时间: 0.002s
16.为学生表和班级表连接查询的结果创建视图
[SQL]create or replace view view1
as
select *
from student s
left join grand g on s.GradeId = g.GrandId
受影响的行: 0
时间: 0.014s
17.为“上海”的学生创建视图
[SQL]create or replace view view2
as
select *
from student
where Address = '上海'
受影响的行: 0
时间: 0.008s
18.建立订单表及商品表,建立主外键关系
[SQL]create table g(
`id` int PRIMARY key not null AUTO_INCREMENT,
`Name` VARCHAR(50) not null,
`Num` int not null DEFAULT 0
)
受影响的行: 0
时间: 0.017s
[SQL]create table o(
`oid` int PRIMARY key not null AUTO_INCREMENT,
`gid` int not null,
`much` int not null,
KEY `fk3` (`gid`),
CONSTRAINT `fk3` FOREIGN KEY (`gid`) REFERENCES g (`id`)
)
受影响的行: 0
时间: 0.017s
19新增数据
20.新建insert触发器、delete触发器、update触发器
[SQL]create TRIGGER trg_1
AFTER INSERT on o
for EACH ROW
BEGIN
UPDATE g SET num = num - new.much where id = new.gid;
END;
受影响的行: 0
时间: 0.039s
[SQL]INSERT into o values(1,1,2)
受影响的行: 1
时间: 0.001s
[SQL]create TRIGGER trg_2
AFTER DELETE on o
for EACH ROW
BEGIN
UPDATE g SET num = num + old.much where id = old.gid;
END;
受影响的行: 0
时间: 0.032s
[SQL]delete from o where oid = 1
受影响的行: 1
时间: 0.000s
[SQL]create TRIGGER trg_3
AFTER update on o
for EACH ROW
BEGIN
UPDATE g SET num = num + old.much-new.much where id = new.gid;
END;
受影响的行: 0
时间: 0.029s
[SQL]update o set much =3 where oid =1
受影响的行: 1
时间: 0.001s
mysql 简单练习的更多相关文章
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- mysql简单主从复制(一)
MYSQL简单主从复制 master:172.25.44.1 slave:172.25.44.2 mysql5.7安装 master和slave均操作 准备rpm包:mysql-5.7.17-1.el ...
- MySql 简单统计查询消耗时间脚本
MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...
- MySQL简单查询详解-单表查询
MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...
- Gin实战:Gin+Mysql简单的Restful风格的API(二)
上一篇介绍了Gin+Mysql简单的Restful风格的API,但代码放在一个文件中,还不属于restful风格,接下来将进行进一步的封装. 目录结构 ☁ gin_restful2 tree . ├─ ...
- Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...
- SSH整合框架+mysql简单的实现
SSH整合框架+mysql简单的实现 1. 框架整合原理: struts2整合Spring 两种: 一种struts2自己创建Action,自动装配Service : 一种 将Action交给Spri ...
- mysql简单优化思路
mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...
随机推荐
- 【BZOJ-4690】Never Wait For Weights 带权并查集
4690: Never Wait for Weights Time Limit: 15 Sec Memory Limit: 256 MBSubmit: 88 Solved: 41[Submit][ ...
- spring的自动装配基础
当开始看别人的代码使用注解的时候,以为照着别人的代码写,也写一个注释就能实现这样的功能,但是,现在开始考虑自动装配时怎样实现的. 首先,如果如果知道如何手动在xml配置中"装配bean&qu ...
- 【bzoj1951】 Sdoi2010—古代猪文
http://www.lydsy.com/JudgeOnline/problem.php?id=1951 (题目链接) 题意 废话一堆..求解: Solution 真的是数论经典题,什么都用上了. 因 ...
- 针对CMS中的tag标签理解
针对CMS的tag标签有以下解释: 什么tag标签? TAG标签是一种由自定义的一种标签,要比分类更加的准确,可以概括文章主要内容的关键词. 运用TAG标签,可以使网站的文章更容易被搜索引擎检索到.百 ...
- 认识http协议
http:Hyper Text Transfer Protocol,超文本传输协议.是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和 ...
- CSS 命名管理 之 BEM
好吧,将 BEM 简单的解释为 “Block-Element-Modifier“, 其实是个不负责任的做法.鬼知道 Block 是什么啊?所以,看了一些似懂非懂的中文解释之后,自己还是得去找些英文来读 ...
- cantor三分集
值得一提的是,第一次听说cantor三分集是在数字电路课上,然而数电是我最不喜欢的课程之一...... 分形大都具有自相似.自仿射性质,所以cantor三分集用递归再合适不过了,本来不想用matlab ...
- 使用PreApplicationStartMethodAttribute
第一次见到这个东西是在公司的框架里,刚开始还挺郁闷怎么框架的Application_Start里没东西,初始化的那些代码都哪去了,后来通过一些线索找到了PreApplicationStartMetho ...
- AngularJs $animate 让页面动起来
$animate $animate服务提供了基本的DOM操作功能如在DOM里插入.移除和移动元素,以及添加和删除类.这个服务是ngAnimate的核心服务,为CSS和Javascript提供了高档次的 ...
- AngularJs form.FormController、ngModel.NgModelController
form.FormController FormController跟踪所有他所控制的和嵌套表单以及他们的状态,就像有效/无效或者脏值/原始. 每个表单指令创建一个FormController实例. ...