[TOC]
## SELECT 语句
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
**语法**
~~~
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
SELECT 列名称 as 新列名 FROM 表名称
SELECT 列名称,列名称,... FROM 表名称
as 使用别名,可以将列别名应用于where语句中
~~~
**实例**
~~~
mysql> select name from stu;
mysql> select * from stu;
mysql> select name as newname from stu;
mysql> select name,qq from stu;
~~~
## WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
~~~
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
~~~
<table class="dataintable">
<tbody>
<tr>
<th>
操作符
</th>
<th>
描述
</th>
</tr>
<tr>
<td>
=
</td>
<td>
等于
</td>
</tr>
<tr>
<td>
<>
</td>
<td>
不等于
</td>
</tr>
<tr>
<td>
>
</td>
<td>
大于
</td>
</tr>
<tr>
<td>
<
</td>
<td>
小于
</td>
</tr>
<tr>
<td>
>=
</td>
<td>
大于等于
</td>
</tr>
<tr>
<td>
<=
</td>
<td>
小于等于
</td>
</tr>
<tr>
<td>
BETWEEN
</td>
<td>
在某个范围内
</td>
</tr>
<tr>
<td>
LIKE
</td>
<td>
搜索某种模式
</td>
</tr>
</tbody>
</table>
**实例**
~~~
mysql> select * from stu where name="学并思";
~~~
## AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
~~~
mysql>select * from stu where name="学并思" and qq="113664000";
mysql>select * from stu where name="学并思" or qq="113664000";
~~~
## SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。
**语法**
~~~
SELECT DISTINCT 列名称 FROM 表名称
~~~
**实例**
~~~
mysql> select distinct sex from stu;
~~~
## ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
**实例**
~~~
mysql>select * from stu order by qq;//默认升序
mysql>select * from stu order by qq desc;//降序
mysql>select * from stu order by qq asc;//升序
~~~
## SELECR LIMIT 语句
取出部分数据记录
**语法**
~~~
SELECT 列名称 FROM 表名称 LIMIT 数量
SELECT 列名称 FROM 表名称 LIMIT 位置,数量
~~~
**实例**
~~~
mysql> select name from stu limit 1;
mysql> select name from stu limit 2,3;
~~~
## SELECR BETWEEN 语句
操作符BETWEEN...AND会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
**语法**
~~~
SELECT 列名称) FROM 表名称 WHERE 列名称 BETWEEN 值1 AND 值2
~~~
**实例**
~~~
select name from stu where age between 18 and 20;
~~~
## SELECT IN 语句
IN 操作符允许我们在 WHERE 子句中规定多个值。
**语法**
~~~
SELECT 列名称 FROM 表名称 WHERE 列名称 IN (值1,值2,...)
SELECT 列名称 FROM 表名称 WHERE 列名称 NOT IN (值1,值2,...)
~~~
**实例**
~~~
mysql> select name from stu where name in ('学并思','大牛学院');
mysql> select name from stu where name not in ('学并思','大牛学院');
~~~
## SELECT LIKE 语句
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
语法
~~~
SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE '值%'
SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE '%值'
SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE '%值%'
SELECT 列名称 FROM 表名称 WHERE 列名称 NOT LIKE '%值%'
~~~
实例
~~~
mysql> select name from stu where name like '学%';
mysql> select name from stu where name like '%并';
mysql> select name from stu where name like '%思%';
mysql> select name from stu where name not like '%学%';
~~~
## SELECT IS NULL 语句
判断字段值是否为空
**语法**
~~~
SELECT 列名称 FROM 表名称 WHERE 列名称 IS NULL
SELECT 列名称 FROM 表名称 WHERE 列名称 IS NOT NULL
~~~
**实例**
~~~
mysql> select name from stu where qq is null;
mysql> select name from stu where qq is not null;
~~~
## SELECT IF 语句
在结果集中进行判断
**语法**
~~~
SELECT IF(表达式,值1,值2) FROM 表名称
SELECT IFNULL(列名称,值) FROM 表名称
~~~
**实例**
~~~
mysql> select if(age>20,'中年','少年') from stu;
mysql> select ifnull(qq,'110112114') from stu;
~~~
## rand() 函数
通过rand()函数结合select语句可以方便的得到随机结果集,这在项目开 发中经常被使用到
**语法**
~~~
SELECT 列名称 FROM 表名称 ORDER BY RAND() LIMIT 数量
~~~
**实例**
~~~
mysql > select name from stu order by rand() limit 6;
~~~
>[danger]练习:随机显示2篇文章。
查找所有姓李的同学。
查找名字中包含里的并的学生。
学并思学习手册 Copyright © 学并思。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板