MySQL查询

Posted 拿红罗卜钓鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查询相关的知识,希望对你有一定的参考价值。

DQL :数据查询语言
关键字: select
基础语法:
select 列名 1 as ' 当前列的别名 ', 列名 2 , 列名 3 ,... from 表名 ;
as 是可以省略的
查询全部列的数据: select * from 表名 ;
 
条件查询
带条件查询: selct * from 表名 where 条件 ;
条件 :
精确条件: = > < in between..and
模糊条件: like 必须搭配 通配符使用
通配符:
% : 匹配 0~n 个字符
_ : 仅匹配 1 个字符
 
除重查询
关键字: distinct
select distinct 列名 1 , 列名 2 ,... from 表名 ;
 
排序查询:按照数据进行升降序显示
关键字: order by
使用语法:
select * from 表名 order by 列名 desc( 降序 )/asc( 升序,默认值 ) ;
多个列进行排序
select * from 表名 order by 列名 1 desc , 列名 2 desc ,... ;
 
分组查询:将相同的数据归为一组,进行合并展示
关键字: group by
使用语法:
select * from 表名 [where 条件 ] group by 列名 [having 条件 ];
分组条件:
1 、条件使用的列是表的原始列 ,使用 where 作为条件关键字
2 、条件使用的列是聚合函数生成的列 ,使用 having 作为关键字
搭配 聚合函数 使用
聚合函数: 数学算法,包含 求和 求平均数 求总数 count(*) ,单独使用时,只会出现 1 行数
SUM( 列名 ) 求当前 列 的总和值,只能对数字列进行操作
AVG( 列名 ) 求当前 列 的全部数据的平均值,只能对数字列进行操作
MAX( 列名 ) 求当前 列 中数据的最大值,如果是数字直接比大小,如果是字符则使用是
hashcode MIN( 列名 ) 求当前 列 中数据的最小值,如果是数字直接比大小,如果是字符则使用是
hashcode
COUNT( 列名 ) 求有多少 行 数据;
当聚合函数和分组搭配使用:数据可能会变成多行;
求的不再是当前列,而是当前组内的列 ;
 
分页查询: mysql 方言
关键字: limit
基本语法 :
select * from 表名 limit 开始数据编号 ( 不包含开始编号 ) , 显示条数 ;
如果剩余的数据不够显示条数,则有多少显示多少;
 
利用现有的表创建新的表
基础语法:
CREATE TABLE 新表名 AS SELECT 列名 FROM 旧表名 ;
 
总结
MySQL 查询语句的汇总:
select 列名 1, 列名 2,... 用展示的列
from 表名 用来获取数据的表
where 条件 ( 原表中的列作为条件 ) 用来设置查询条件
group by 列名 用来设置分组
having 条件 ( 聚合函数的值条件 ) 用来设置分组的聚合函数条件
order by 列名 asc/desc 用来进行数据排序的
limit 开始编号 , 显示条数 ; 用来进行数据切割

以上是关于MySQL查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询一个表,实现递归查询

MySQL子查询(六)

mysql如何批量查询大量数据

mysql 慢查询

MySQL联合查询及模糊查询

mysql 子查询 优化