Mysql实战(4):聚合函数;表关联查询;MYSQL索引

聚合函数:

总数:count

group by 分组(聚合)

count(1)和group by 一起来计算不同分组中的记录总数

 

总数sum;平均avg;最大max;最小min

 

去重:distinct

 

过滤:having

通过having来过滤group by字句的结果信息 

找到平均薪资超过12000的(limit 10 仅显示10条)

 

 

表关联查询

内连接: inner info 又叫内连接的部分,主要是获取两个表中字段匹配关系的表。查询关联字段共同拥有的数据 

 

例如:

我们创建5个表(用户表,学生时代表,工作时代表,学生信息表,城市信息表)5个表之间有关联

1.先创建表(例如用户表): create table  user(id int, name varchar(10), birthday date);

2.然后给表里添加数据  insert into 表名 values(1,"zhangsan","1998-04-06");

 

3.然后将表关联起来查询你想要得到的信息

查询一张表(*代表所有): select * from 表名;

查询指定字段:select 字段1,字段2,字段3 from  表名;

 

 

例如:我们想查询用户表中id=2的学生时代信息,我们可以将user,student,studentinfo三个表关联起来查询 

命令格式:select * from 表名 inner info 表名 on 关联的两个表的相同字段的所有信息 inner join 表名 on 关联的两个表的相同字段的所有信息 where 条件;

 例如:我们想查询用户表中id=2的学生时代信息及城市信息,我们可以将user,student,studentinfo,city四个表关联起来查询

 

 

删除数据的方式:in  or

delete from 表名 where id in (想要删除的id数)

 

 

左连接:left join 获取左表所有记录,获取左边数据表所有符合要求的字段数据信息

 

例如:用左连接查看姓名 表现 学校名称

 

右连接:right join 获取右表所有记录的信息,获取右边数据表所有的数据信息

例如:用右连接查看姓名 表现 学校名称

 

 例如:想查看姓名 学校名称 学校类型 城市名称 国家 再➕只查看学校类型为一本的条件

(右连接)

 (内连接) 

(左连接)

(也可左连接 右连接 内连接结合起来用)

 

MySQL索引 

在MySQL中,创建MySQL的索引主要是为了提高MySQL查询的效率。但是添加太多的索引也是会降低更新表的速 度的,因为对表进行DML操作的时候,MySQL的内部不仅仅要保存数据,还需要保存索引文件的。 

 

 

 

posted @ 2021-10-26 16:48  Cyyy-  阅读(470)  评论(0)    收藏  举报