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的片段中加载ListView

连接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“(代码片段

mysql查看版本的四种方法