[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面板