一、select 选择列表
1、select基本结构
select 字段列表 from 表名 where 条件表达式
说明:(1) 必须的子句只有 select 子句和 from 子句。(2)where 子句用于对查询结果进行过滤。
2、选择(查询)所有列
语法:select * from 表名
说明:(1)select:选择(列),在MySQL中用于查询数据。* 代表选择所有列
3、选择(查询)部分列
语法: select 字段列表 from 表名
4、使用
as
关键字显示列标题(取别名)
语法:select 字段1 as 列标题1,字段2 as 列标题2,... from 表名
【实例】 从student表中查询得到学生的学号、姓名、性别。【解答】1 select id as 学号,name as 姓名,sex as 性别 from student
【说明】在实际使用过程中,as可以省略,语法:select 字段1 列标题1,字段2 列标题2,... from 表名1 select id 学号,name 姓名,sex 性别 from student
5、使用
distinct
关键字过滤重复行
语法:select distinct 字段列表 from 表名
【实例】 从student表中查询得到所有的组别名称(不重复)。【解答】1 select distinct team from student
二、MySQL运算符
1、算数运算符
+ - * / %
2、比较运算符
= != 或 <> > < >= <= is null is not null
【说明】
is null:判断是否为空is not null:判断是否不为空
3、逻辑运算符
与:&& 或 and或:|| 或 or非:! 或 not异或:xor a xor b --> !a && b 或者 a && !b
语法:
select 字段列表 from 表名 where 条件表达式
【实例】
在student表中查询得到2组学生的所有信息。
【解答】
1 select * from student where team='2组'
【实例】
在student表中查询得到6组而且ps成绩大于80的学生的姓名和ps成绩信息。
【解答】
1 select name,ps_score from student 2 where team='6组' and ps_score>80
三、定制显示查询结果
1、结果排序(
order by
)
(1)单列排序
语法:select 字段列表 from 表名 where 条件表达式 order by 排序字段
【实例】
将student表中所有的学生信息按照组别进行排序(升序)。
【解答】
1 select * from student order by team
【说明】
MySQL使用order by排序时,默认升序,如果需要降序排序,需要条件 desc 关键字。语法:select 字段列表 from 表名 where 条件表达式 order by 排序字段 desc
1 select * from student order by team desc
(2)多列排序
语法:select 字段列表 from 表名 where 条件表达式 order by 排序字段1,排序字段2,...
【说明】
order by进行排序时,如果有多个字段,则排序规则是:先将第1个字段进行排序,然后在第1个字段的基础上给第2个字段排序,依次类推。
【实例】
将student表中所有的学生信息按照组别和计算机基础成绩进行排序,显示
的字段包括:学号、姓名、组别、计算机基础成绩。
【解答】
1 select id 学号,name 姓名,team 组别,computer_score 计算机基础成绩
2 from student
3 order by team,computer_score
2、使用
limit
关键字限制查询结果数量
语法:select 字段列表 from 表名 where 条件表达式 limit 起始行编号,需要查询的结果数据
【说明】limit的编号从 0 开始。
【实例】
在student表中查询得到前3条数据。
【解答】
1 select * from student limit 0,3
【实例】
在student表中查询得到第3条至第5条数据。
【解答】
1 select * from student limit 2,3
四、模糊查询
模糊查询是利用数据的 部分信息(关键字) 进行查找的一种查询方式。
1、like运算符
在对数据进行模糊查询时,需要使用like运算符和通配符来实现。常用的通配符有:(1)% :匹配0个到多个字符(2)_ :仅仅能够匹配1个字符select 字段列表 from 表名 where 字段名 like 通配符
【实例】
在student表中查询得到所有姓“杨”的学生信息。
【解答】
1 select * from student where name like '杨%'
【实例】
在student表中查询得到姓名为两个字的所有学生信息。
【解答】
1 select * from student_ where name like '__'
【实例】
在student表中查询得到姓名中含有“菲”字的学生信息。
【解答】
1 select * from student where name like '%菲%'
2、in运算符
用于判断一个值是否在一个指定的数据集合之内。语法:select 字段列表 from 表名 where 字段名 in(集合数据)
【实例】
在student表中查询得到3组、6组、7组的学生信息。
【解答】
1 select * from student
2 where team in('3组','6组','7组')
3、between...and运算符
作用:选取介于两个值之间的数据。取值包括边界值,80-85之间 --> [80,85]
语法:select 字段列表 from 表名 where 字段名 betweem 起始边界值 and 结束边界值
【实例】
在student表中查询得到ps成绩在80-85之间的学生信息。
【解答】
1 select * from student
2 where ps_score between 80 and 85