前面一章主要讲解了mysql的入门学习,包括,表的管理,以及对数据的增删改,本章主要介绍mysql最重要的语句select的用法,将select的大部分用法进行分别讲解。

1.select语句简单介绍:

select语句从语义上就可以知道主要是用来进行查询的

数据表都已经创建起来了,我们已经插入了许多的数据,我们可以用自己喜欢的方式对数据表里面的信息进行检索和显示了。比如说显示我们建立的表student所有的数据:

select * from student;

显示如下:
01

select语法格式:

1. 简单语法:

            select  [字段] from 表名 where 条件判断

2. 复杂的语法:

 SELECT select_list --描述结果集的列
INTO new_table_name --指定使用结果集来创建新表
FROM table_list  --包含从中检索到结果集数据的表的列表[返回结果集的对象]。
[ WHERE search_conditions ] --WHERE 子句是一个筛选,它定义了源表中的行要满足 SELECT 语句的要求所必须达到的条件
[ GROUP BY group_by_list ] --根据 group_by_list 列中的值将结果集分成组
[ HAVING search_conditions ]  --结果集的附加筛选
[ ORDER BY order_list [ ASC | DESC ] ]  --结果集的附加筛选

2.简单查询:

2.1查询指定字段

第一部分介绍的 select * from student;中的*号是通配符,意思查询的全部列,平时我们经常要查询的可能只是名字或者分数,这是就可以指定字段进行查找

语法格式:

SELECT 字段名 FROM 表名;

演示如下:选择指定字段为sname,mark的两列

select sname,mark from student;
可以使用as关键字为字段定义别名:

如:


-- 查询指定的列 并指定别名as--

select sname,sid as id from student;

显示如下:

02

查询时可以添加常量列,比如某个学生都属于2014级自动化班:

-- 增加一个班级列,内容为:自动化班  字段名称为2014级 --

select sid,sname,'自动化班' as '2014级' from student;

2.2限制查询行数:也叫分页查询;

当我们数据库很大时为了显示或处理方便可以使用分页查询:

1.语法格式

select *  from  student  limit [index],[count];行数不足,返回行数为实际值

或者:

select *  from  student  limit [count] OFFSET  [index]; 

index数为开始位置的前一行,count数为要检索的行数;

2. 演示如下:选出student的从第二行开始的3行

-- 限制查询行数 --

select sid,sname from student limit 1,3;
3. 还可以选择倒叙或者升序:desc降序,asc升序

-- 查询排序  Desc降序排序 --

select * from student order by sid Desc limit 1,3;
4. 注意

在给出order by子句时,应该保证他位于 from子句之后。如果使用limit,他必须位于order by子句之后,使用子句的次序不对将产生错误消息

3.复杂查询:

3.1查询之过滤:

数据库表一般包含大量的数据,很少需要检索表中所有行。通常会根据特定操作或报告的需要提取表数据的子集。

1.语法格式

select * from student where 条件;

如:查询sid=2的学生:


-- 检查单个值--

select * from student where sid=002;

select * from student where sid<>002;
2.支持的子句操作符

03<喎"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxjb2RlIGNsYXNzPQ=="hljs sql">3.范围过滤

为了检查某个范围的值,可使用between操作符:

语法:select from***where***between***and***

如:sid在002到004之间

演示:select * from student where sid between 002 and 004;

4.空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值。在一个列不包含值时,被称作包含空值null:

“`语法: select ***from***where***is***null““

如:

演示:select * from student where sgender is null;

5.条件逻辑过滤