MYSQL
Posted acekr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL相关的知识,希望对你有一定的参考价值。
一、mysql普通查询
3、select ...聚合函数 from 表名
1、where ...
2、group by ...
4、having ...
5、order by ...
6、limit ...;
代码的执行顺序按照编号的顺序
- **聚合函数**
| 方法 | 功能 |
| ------------- | -------------------- |
| avg(字段名) | 该字段的平均值 |
| max(字段名) | 该字段的最大值 |
| min(字段名) | 该字段的最小值 |
| sum(字段名) | 该字段所有记录的和 |
| count(字段名) | 统计该字段记录的个数 |
| | |
eg1 : 找出表中的最大攻击力的值?
```mysql
select max(attact) from sanguo;
```
eg2 : 表中共有多少个英雄?
```mysql
select count(name) from sanguo;
```
eg3 : 蜀国英雄中攻击值大于200的英雄的数量
```mysql
select count(name) from sanguo where country="蜀国" and attact>200;
- **group by**
给查询的结果进行分组
eg1 : 计算每个国家的平均攻击力
```mysql
select country,avg(attack) from sanguo group by country;
```
eg2 : 所有国家的男英雄中 英雄数量最多的前2名的 国家名称及英雄数量
```mysql
select country,count(id) as number from sanguo where gender ="m" group by country order by number DESC limit 2;
```
? ==group by后字段名必须要为select后的字段==
? ==查询字段和group by后字段不一致,则必须对该字段进行聚合处理(聚合函数)==
- **having语句**
- **having语句**
对分组聚合后的结果进行进一步筛选
```mysql
eg1 : 找出平均攻击力大于105的国家的前2名,显示国家名称和平均攻击力
``` select country,avg(attack) as att from sanguo group by country having att>105 order by att DESC limit 2
where 后面不能跟聚合函数
注意
```mysql
having语句通常与group by联合使用
having语句存在弥补了where关键字不能与聚合函数联合使用的不足,where只能操作表中实际存在的字段,having操作的是聚合函数生成的显示列
- **distinct语句**
不显示字段重复值
```mysql
eg1 : 表中都有哪些国家
select distinct country from sanguo;
eg2 : 计算蜀国一共有多少个国家
``` select count (distinct country) from sanguo;
注意
```mysql
distinct和from之间所有字段都相同才会去重
distinct不能对任何字段做聚合处理
- **查询表记录时做数学运算**
运算符 : + - * / % **
```mysql
查询时显示攻击力翻倍
select name,attact*2 from sanguo;
更新蜀国所有英雄攻击力 * 2
update sanguo set attact = attact*2 where country = "蜀国";
以上是关于MYSQL的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段
使用 json rereiver php mysql 在片段中填充列表视图
关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段
修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段