1 Mysql基础(命令行)

1 Mysql基础(命令行)

寇汤爱拭井淌楔累哗陆蔬赎柔


链接:https://pan.baidu.com/s/1I6fqA6gIBt4L6cTRm4hTnA
提取码:kxb5


数据表.sql文件:恢复方式新建数据库class6test,再导入sql

http://www.xuexianswer.com/mengyun/?dl=cd60b19bc71263f3dfba20eab1e8eeec

链接:https://pan.baidu.com/s/1GYai9mKj65akr9yeGpXjRQ
提取码:ktwl


dos命令:

进入phpStudy下的mysql所在的bin目录

1 Mysql基础(命令行)第1张

dos命令:

1 Mysql基础(命令行)第2张

显示数据库,选择数据库,显示数据表,查数据表

1 Mysql基础(命令行)第3张

1 Mysql基础(命令行)第4张


创建数据表

1 Mysql基础(命令行)第5张

1 Mysql基础(命令行)第6张

1 Mysql基础(命令行)第7张

插入数据:

1 Mysql基础(命令行)第8张

1 Mysql基础(命令行)第9张

插入多条数据:

1 Mysql基础(命令行)第10张


 

数据查询:

1.小明同学想知道学生中所有男生的学生信息?

1 Mysql基础(命令行)第11张
2.小明同学想知道学生中是男生并且是class1班的学生信息?

1 Mysql基础(命令行)第12张
3.小明同学想知道学生中是男生并且是class1班并且年龄大于16岁的学生信息?

1 Mysql基础(命令行)第13张
4.小明同学想知道学生中是class1班或者class2班的学生的女生信息?

1 Mysql基础(命令行)第14张


like查询

1 Mysql基础(命令行)第15张

1 Mysql基础(命令行)第16张

MySQL 查询语句
1.小明同学想知道学生中名字是以’li’开头的学员信息?

1 Mysql基础(命令行)第17张
2.小明同学想知道学生中名字是以’zhang’结尾的学员信息?

1 Mysql基础(命令行)第18张
3.小明同学想知道学生中名字中包含’li’的学员信息?

1 Mysql基础(命令行)第19张
4.小明同学想知道学生中名字中包含’li’并且是class3班的学员信息?

1 Mysql基础(命令行)第20张
5.小明同学想知道学生中名字中不包含’li’并且是class3班的学员信息?

1 Mysql基础(命令行)第21张


聚合查询

1 Mysql基础(命令行)第22张

1 Mysql基础(命令行)第23张

1.小明同学想知道学生表中最大年龄是多少?

1 Mysql基础(命令行)第24张

查询一班中最大的年龄

1 Mysql基础(命令行)第25张
2.小明同学想知道学生表中最小年龄是多少?

1 Mysql基础(命令行)第26张
3.小明同学想知道学生表中学生年龄之和是多少?

1 Mysql基础(命令行)第27张
4.小明同学想知道学生表中学生的平均年龄是多少?

1 Mysql基础(命令行)第28张
5.小明同学想知道学生表中共有多少学生?

1 Mysql基础(命令行)第29张

或者查id  然后对id进行计数

1 Mysql基础(命令行)第30张


分组函数group by

查询全部信息

1 Mysql基础(命令行)第31张

有多少个组就有多少条数据(只显示未经处理的第一条数据):

1 Mysql基础(命令行)第32张

因此聚合函数是有要求的:要筛选一个组中的某一个数据用于显示如max或min

1 Mysql基础(命令行)第33张

1 Mysql基础(命令行)第34张

1 Mysql基础(命令行)第35张

1 Mysql基础(命令行)第36张

1.小明同学想知道学生表中每个班最大年龄的学生的年龄信息?

1 Mysql基础(命令行)第36张
2.小明同学想知道学生表中每班平均年龄的学生的班级信息?

1 Mysql基础(命令行)第38张
3.小明同学想知道学生表中每班最大年龄的学生的班级、年龄信息?、

1 Mysql基础(命令行)第36张
4.小明同学想知道学生表中同一个地方的有多少人?

1 Mysql基础(命令行)第40张
5.小明同学想知道学生表中每个班有多少个人?

1 Mysql基础(命令行)第41张

goroup by 可以简单粗暴的认为将表按照分组的条件划分为多张表,在对这些表分别按照条件查询

6.小明同学想知道学生表中class1班同一个地方的有多少人?

1 Mysql基础(命令行)第42张

7.小明同学想知道学生表中class1班,class2班同一个地方的有多少人?

1 Mysql基础(命令行)第43张

8小明同学想知道学生表中所有男同学同一个地方的有多少人?

1 Mysql基础(命令行)第44张


having主要对group by 查询生成的数据进行再次查询:

1 Mysql基础(命令行)第45张

1 Mysql基础(命令行)第46张


1.小明同学想知道学生表中每班平均年龄大于16岁的班级、年龄信息?

1 Mysql基础(命令行)第47张
2.小明同学想知道学生表中每班最大年龄大于17岁的班级、年龄信息?

1 Mysql基础(命令行)第48张


1 Mysql基础(命令行)第49张


1 Mysql基础(命令行)第50张

初始查询:

1 Mysql基础(命令行)第51张

按照年龄排序:

1 Mysql基础(命令行)第52张

可以看到并没有按照理论上的以年龄升序排列,这是因为排序是按照原始数据表中的age进行的排序

正确的写法:

1 Mysql基础(命令行)第53张


1.小明同学想知道学生表中每班平均年龄大于16岁的学生的姓名、班级、年龄信息并按
照年龄降序排列?

1 Mysql基础(命令行)第54张
2.小明同学想知道学生表中每班最大年龄大于17岁的学生的姓名、班级、年龄信息并按
照年龄降序排列?

1 Mysql基础(命令行)第55张
3.小明同学想根据年龄从小到大顺序排出学生的相关信息?

1 Mysql基础(命令行)第56张
4.小明同学想按照学号升序排列学生的信息?

1 Mysql基础(命令行)第57张

1 Mysql基础(命令行)第58张

5:

1 Mysql基础(命令行)第59张

6:

1 Mysql基础(命令行)第60张

7:

1 Mysql基础(命令行)第61张

8:

1 Mysql基础(命令行)第62张


1 Mysql基础(命令行)第63张

1 Mysql基础(命令行)第64张

1.小明同学想知道学生表中每班平均年龄大于16岁的学生的班级、年龄信息并按照年龄降
序排列并取得前两行数据?

1 Mysql基础(命令行)第65张
2.小明同学想知道学生表中每班最大年龄大于17岁的学生的班级、年龄信息并按照平均年
龄降序排列并从第二行开始取得三行数据?

1 Mysql基础(命令行)第66张
3.小明同学想根据年龄从小到大顺序排出学生的相关信息并取得前五行数据?

1 Mysql基础(命令行)第67张


1 Mysql基础(命令行)第68张

describe 表名:查看表结构

1 Mysql基础(命令行)第69张


1 Mysql基础(命令行)第70张

1. 列出performance表中,各班级名以及班级最高分和最低分。

1 Mysql基础(命令行)第71张
2. 列出performance表中,课程名为develop的各班级名以及班级的最高分和最低分。

1 Mysql基础(命令行)第72张
3. 列出performance表中,课程名为test的班级名,最低分数和最高分数,并且最低分数小于80的班级。

1 Mysql基础(命令行)第73张
4. 列出performance表中姓名不包含’li1’信息的所在班级中的每个学员的学号、姓名和
班级名

1 Mysql基础(命令行)第74张
5. 列出performance表中test成绩大于平均成绩的学员的相关信息

1 Mysql基础(命令行)第75张

其中第5题即有多表联合查询的样子


1 Mysql基础(命令行)第76张

笛卡尔积即:交叉连接,十分混乱,实际工作中并不会使用

1 Mysql基础(命令行)第77张

共计查询了480条数据

1 Mysql基础(命令行)第78张

1 Mysql基础(命令行)第79张


1 Mysql基础(命令行)第80张

union查询,重复数据只显示一次:

1 Mysql基础(命令行)第81张

union all重复数据全部显示:

1 Mysql基础(命令行)第82张

当查询的字段名不一致(字段数一致)时,只会显示第一次查询的字段

1 Mysql基础(命令行)第83张

当union查询的字段数不一致时,则不会执行:

1 Mysql基础(命令行)第84张

nuion多用于多个班级的表连接起来 其他的用得较少


左右连接原理如下图所示:

当需要查询student表学生的成绩时,是左连接,当需要查询core表中所有人的电话号码时,是右连接。左右连接并没有什么区别,只是存在着表的前后关系而已。

1 Mysql基础(命令行)第85张

1 Mysql基础(命令行)第86张

查询student表中所有学生的成绩

首先查询studen表中的所有学生用来对比

1 Mysql基础(命令行)第87张

查询Student表中所有学生的成绩:

1 Mysql基础(命令行)第88张

2. Student表中所有男生的成绩

1 Mysql基础(命令行)第89张


1 Mysql基础(命令行)第90张

查询:2. Student表中所有男生的成绩,剔除为NULL的情况:

1 Mysql基础(命令行)第91张

将student表查询时命名为S1表,将performance表查询是命名为S2表,并查询出
student表中与performance表中都存在的学生的成绩,并且是class2班的学生。

1 Mysql基础(命令行)第92张


 

舌纠薄斡蔼吨卯句水斥斗倡喉