本文摘自PHP中文网,作者jacklove,侵删。
一、 简单查询1. Select语句
Select [distinct] * | {字段名1,字段名2,字段名3,。。。}
From表名
[where条件表达式1]
[groupby 字段名 [having 条件表达式2]]
[orderby 字段名 [asc|desc]]
[limit[offset] 记录数]
(1) Distinct是可选参数,用于剔除查询结果中重复的数据;
(2) Group by是可选参数,用于将查询结果按照指定字段进行分组;having也是可选次参赛,用于对分组后的结果进行过滤
(3) Order by是可选参数,用于将查询结果按照指定字段进行排序,排序方式由参数ASC或DESC控制,如果不指定,则默认为升序排列(ASC)
(4) Limit 是可选参数,用于限制查询结果的数量,limit后面可以跟两个参数,第一个参数offset表示偏移量,如果偏移量为0,则从查询结果的第一条记录开始,偏移量为n则从查询结果中的第n+1条记录开始。如果不指定,则默认为0. 第二个参数‘记录数’表示返回查询记录的条数。
2. 查询所有字段
(1) 在select语句中指定所有字段
(2) 在select语句中使用*通配符代替所有字段:查询结果只能按照字段在表中定义的顺序显示。
3. 查询指定字段
二、 按条件查询
1. 带关系运算符的查询
2. 带in关键字的查询:in关键字用于判断某个字段的值是否在指定集合中。
3. 带between and关键字的查询:用于判断某个字段的值是否在指定的范围内。
4. 空值查询
5. 带distint关键字的查询:过滤掉查询记录中重复的值
当distinct关键字作用于多个字段时,只有它后面指定的多个字段值都相同,才会被认为是重复记录。
6. 带like关键字的查询:like关键字可以判断两个字符串是否相匹配。格式如下:
Select * | [{字段名1,字段名2,…} from 表名
Where 字段名 [not] like ‘匹配字符串’;
(1) 百分号(%)通配符:匹配任意长度的字符串,包括空字符串
可以使用多个%通配符,也可以和not一起使用
(2) 下划线(_)通配符:只能匹配单个字符,如果要匹配多个字符,需要使用多个下划线通配符,如果使用多个下划线匹配多个连续的字符则下划线之间不能有空格。如‘M_ _QL’中间有一个空格,只能匹配’My SQL’而不能匹配‘MySQL’。
(3) 使用百分号和下划线通配符进行查询操作:
注意:如果要匹配字符串中的百分好和下划线,就需要在铜牌字符串中使用‘\’对百分号和下划线进行转义,如’\%’匹配百分号字面值。
7. 带and关键字的多条件查询:使用and关键字可以连接两个或者多个查询条件,只有满足所有条件的记录才会被返回。每多加一个查询条件就多加一个and关键字。
8. 带or关键字的多条件查询:只要满足一个条件即返回记录。
9. Or和and关键字在一起使用的情况:and的优先级高于or, 应优先运算and两边的条件表达式,再运算or两边的条件表达式。
三、 高级查询
1. 聚合函数:count(),sum(),avg(),max()和min()
(1) count()函数用来统计记录的条数:selectcount(*) from 表名
(2) sum()函数用于求出表中某个字段所有值的总和:select sum(字段名) from 表名
(3) avg()函数用于求出某个字段所有值的平均值:select avg(字段名) from 表名;
(4) max()函数是求最大值的函数,用于求出某个字段的最大值:select max(字段名) from 表名。
(5) min()函数是求最小值的函数:selectmin(字段名) from 表名
2. 对查询结果排序
Select 字段名1,字段名2,… from表名 order by 字段名1[ASC | DESC],字段名2[ASC | DESC]…
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。