Mysql基础笔记三--菜鸟教程

内容摘自菜鸟教程,根据本人自身情况记录部分知识点。一来为了巩固所学过的知识,二来方便日后复习。

Where子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
where客运用于select,delete,update命令中。
可使用BINARY关键字来设定where子句的字符串是区分大小写的。

LIKE子句

Like子句中使用百分号%自来标识任意字符,若没有使用百分号%,Like子句与等号=效果一样。

语句:
select 字段1,字段2,…,字段n from 表名 where 字段m Like condition;

  • ‘%a’:以a结尾的数据
  • ‘a%’:以a开头的数据
  • ‘%a%’:含有a的数据
  • a’:三位且中间位是a的数据
  • ‘_a’:两位且以a结尾的数据
  • ‘a_’:两位且以a开头的数据

%表示任意0个或多个字符,可匹配任意类型和长度的字符
_表示单个任意字符
[]表示括号内所列字符中的一个
[^]表示不再括号内多列之内的单个字符
注:查询内容包含通配符(以上符号)时,把特殊字符用"[]"括起即可

UNION操作符

用于连接两个以上的select语句的结果组合到一个结果集合中。多个select语句会删除重复的数据。

语法:

select a,b,c from tb1 [where condition] UNION [ALL/DISTINCT]  select a,b,c from tb2 [where condiction]

all:返回所有结果集,包含重复数据
distinct:删除结果集中重复的数据
tips:UNION默认伸出重复数据。

Mysql 排序

排序使用 order by
语法:

扫描二维码关注公众号,回复: 10430760 查看本文章
select 字段1,字段2,...,字段n from table 
order by 字段m [ASC/DESC] ,字段p [ASC/DESC],...

ASC升序,DESC降序,默认降序。

tips:
拼音排序:

  1. 若字符集使用gbk,直接使用order by排序
  2. 若字符集使用utf-8,先对字符进行转码再排序
    select * from table order by convert(字段n using gbk)

Group by语句

根据一个或多个列队结果集进行分组。
在分组的列上可使用COUNT,SUM,AVG等函数。
语法:

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。

tips:
Where ,Group by,having的区别:

  1. where:用于出师表中筛选查询,在返回结果及之前起作用
  2. Group by:对select查询出来的结果集按照某个字段或者表达式进行分组
  3. 用于对where 和group by 查询出来的分组进行过滤,查出满足条件的分组结果,在返回结果集之后对查询结果进行的过滤操作。
    执行顺序:
    select—>where—>group by—>having—>order by

where 和 having:
①select s#,sage from Student where sage>15;
②select s#,sage fron Student having sage>15;
③select s# from Student having sage>15;

  1. where从数据表中的字段直接进行筛选
  2. having从筛选出来的的字段进行再筛选,故第③句将会报错
  3. ①②语句中,where和sage等效
发布了4 篇原创文章 · 获赞 0 · 访问量 24

猜你喜欢

转载自blog.csdn.net/qq_41614773/article/details/105265074