MySQL 基础--01

MySQL

一、 查询

select  *  from 表名

#消除重复的行,一行判断

select distinct 列名 from 表名

二、 条件查询

select  *  from 表名 where 条件

对原始集合,where逐行去匹配,满足条件放到新的集合了!

比较运算符

等于

=

不等于

!=

大于

>

小于

<

大于等于

>=

小于等于

<=

逻辑运算符

and

并且

or

not

三、 模糊查询

select * from 表名 like 条件

% 表示任意多个字符

_  表示一个字符

select * from student like ‘黄%’

>>黄蓉

>>黄秋生

select * from student like ‘黄_’

>>黄蓉

四、 范围查询

in 表示在一个非连续的范文内

#查询编号1或3或8的学号

select * from student where id in(1,3,8)

between .. and .. 表示在一个连续的范围内

#查询编号,3到8的学号的男生

select * from student where id between 3 and 8 and gender =1

#优先级匹配between 然后匹配and

空判断

判空  is null

判非空  is not null

优先级

小括号,not,比较运算符,逻辑运算符

and 比 or 先运算,如果同时出现希望先运算,需要结合()

五、 聚合函数

聚合:基于原始集合,然后统计结果!

count(*)   统计总行数

max(列)   最大

min(列)   最小

sum(列)   表示求此列的和

avg(列)    表示求此列的平均值

先原始集 --> where --> 聚合函数

六、 分组

按照字段分组,表示此字段相同的数据会被放到一个组中

分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中

可以对分组后的数据进行统计.

select 列1,列2,聚合 from 表名 group by 列1,列2 having 列1,聚合

where 和 having 区别

where 对原始结果集筛选

having 对分组结果集筛选

七、 排序

select * from 表名 order by 列1

默认 asc

asc 从小到大,升序

desc 从大到小排序,降序

八、 分页

一次加载太大的数据,所以需要分页!

select * from 表名 limit start,count

从start开始,读取count 条数据,start索引从0开始.

已知:每个显示m条数据,当前是n页

limit start m

m = 5

0,5 === 0,1,2,3,4

1,5 === 5,6,7,8,9

公式

(n-1)m 从1开始

limit (n-1)*m,m

总结:

select distinct * from 表名 where .. group by .. having .. order by .. limit ..

顺序:

form 表名 --> where --> group by --> distinct --> having --> order by --> limit

posted @ 2018-07-11 10:45  码农出来卖卖菜  阅读(143)  评论(0编辑  收藏  举报