SELECT * FROM tb_name;查詢所有html
SELECT field1,field2 FROM tb_name; 投影mysql
SELECT [DISTINCT] * FROM tb_name WHERE qualification; 選擇linux
說明:正則表達式
FROM子句: 要查詢的關係 表、多個表、其它SELECT語句sql
WHERE子句:布爾關係表達式,主要包含以下這幾類表達式:數據庫
比較:=、>、>=、<=、<
邏輯關係:
AND
OR
NOT網絡BETWEEN ... AND ... :在兩個值之間
LIKE ‘’
%: 任意長度任意字符
_:任意單個字符
REGEXP, RLIKE :正則表達式,此時索引無效
IN
IS NULL
IS NOT NULL數據庫設計
以下查詢本博客的wp-links和wp_posts表:ide
mysql> select * from wp_links; 查詢所有 mysql> select link_name,link_url from wp_links; 投影
+-------------------+--------------------------------------+
| link_name | link_url |
+-------------------+--------------------------------------+
| 旺旺騰訊微博 | http://t.qq.com/toxingwang |
| 旺旺新浪微博 | http://weibo.com/gz100ww |
| 51CTO技術博客 | http://towangwang.blog.51cto.com/ |
+-------------------+--------------------------------------+
10 rows in set (0.00 sec)工具mysql> select ID,post_title,post_date from wp_posts where ID>1290 and post_status='publish';選擇
+------+----------------------------------------------------------------+----------------------+
| ID | post_title | post_date |
+------+----------------------------------------------------------------+----------------------+
| 1291 | 【轉】HP 3PAR存儲概念之三 | 2013-08-29 17:21:27 |
| 1298 | 【轉】HP 3PAR存儲概念之四 | 2013-08-29 17:22:33 |
| 1351 | 【轉】XenDesktop 5.5+vSphere 5建立虛擬機報錯 | 2013-09-04 17:41:26 |
| 1357 | linux下強大的網絡工具Netcat | 2013-09-09 22:26:45 |
| 1360 | MySQL經常使用命令、技巧和注意事項 | 2013-09-20 11:04:15 |
| 1369 | 【轉】數據庫設計原理知識--B樹、B-樹、B+樹、B*樹都是什麼 | 2013-09-21 12:30:18 |
| 1379 | MySQL基本SQL語句之經常使用管理SQL | 2013-09-21 12:39:23 |
+------+----------------------------------------------------------------+---------------------+
7 rows in set (0.01 sec)
ORDER BY field_name {ASC|DESC}
以下:
mysql> select ID,post_title,post_date from wp_posts where ID>1290 and post_status='publish' ORDER by ID; ##升序,ID是排序的字段
mysql> select ID,post_title,post_date from wp_posts where ID>1290 and post_status='publish' ORDER by ID DESC;##降序
select col_name AS COL_Aliases … :對字段使用別名
select col_name,… from tb_name AS tb_Aliases … :對錶使用別名
以下:
mysql> select post_title AS 文章標題 from wp_posts where ID>1290 and post_status='publish';
+----------------------------------------------------------------+
| 文章標題 |
+----------------------------------------------------------------+
| 【轉】HP 3PAR存儲概念之三 |
| 【轉】HP 3PAR存儲概念之四 |
| 【轉】XenDesktop 5.5+vSphere 5建立虛擬機報錯 |
| linux下強大的網絡工具Netcat |
| MySQL經常使用命令、技巧和注意事項 |
| 【轉】數據庫設計原理知識--B樹、B-樹、B+樹、B*樹都是什麼 |
| MySQL基本SQL語句之經常使用管理SQL |
+----------------------------------------------------------------+
7 rows in set (0.02 sec)##還能夠這樣:
mysql> select 3+2 AS SUM;
+-----+
| SUM |
+-----+
| 5 |
+-----+
1 row in set (0.00 sec)
以下:
mysql> select ID,post_title,post_date from wp_posts where ID>1290 and post_status='publish' limit 5;
+------+--------------------------------------------------+---------------------+
| ID | post_title | post_date |
+------+--------------------------------------------------+---------------------+
| 1291 | 【轉】HP 3PAR存儲概念之三 | 2013-08-29 17:21:27 |
| 1298 | 【轉】HP 3PAR存儲概念之四 | 2013-08-29 17:22:33 |
| 1351 | 【轉】XenDesktop 5.5+vSphere 5建立虛擬機報錯 | 2013-09-04 17:41:26 |
| 1357 | linux下強大的網絡工具Netcat | 2013-09-09 22:26:45 |
| 1360 | MySQL經常使用命令、技巧和注意事項 | 2013-09-20 11:04:15 |
+------+--------------------------------------------------+---------------------+
5 rows in set (0.01 sec)mysql> select ID,post_title,post_date from wp_posts where ID>1290 and post_status='publish' limit2,3; ##紅色部分(逗號前的數字)表示偏移量
+------+--------------------------------------------------+---------------------+
| ID | post_title | post_date |
+------+--------------------------------------------------+---------------------+
| 1351 | 【轉】XenDesktop 5.5+vSphere 5建立虛擬機報錯 | 2013-09-04 17:41:26 |
| 1357 | linux下強大的網絡工具Netcat | 2013-09-09 22:26:45 |
| 1360 | MySQL經常使用命令、技巧和注意事項 | 2013-09-20 11:04:15 |
+------+--------------------------------------------------+---------------------+
3 rows in set (0.00 sec)
mysql> select sum(ID) from wp_posts;計算和
mysql> select min(ID) from wp_posts;查早最小的
mysql> select max(ID) from wp_posts; 查找最大的
mysql> select avg(ID) from wp_posts; 平均值
mysql> select count(ID) from wp_posts;計數
以下:
mysql> select count(post_status) AS 各狀態數量,post_status AS 狀態名稱 from wp_posts group bypost_status;
+-----------------+--------------+
| 各狀態數量 | 狀態名稱 |
+-----------------+--------------+
| 1 | auto-draft |
| 9 | draft |
| 251 | inherit |
| 238 | publish |
| 2 | trash |
+-----------------+--------------+
5 rows in set (0.01 sec)
注意:能夠使用HAVING qualification將GROUP BY的結果再次過濾,用法同where
交叉鏈接:笛卡爾乘積
天然鏈接:將兩張表某字段中相等鏈接起來,以下
mysql> SELECT students.Name,students.Age,courses.Cname,students.Gender FROM students,courses WHERE students.CID1 = courses.CID;
+--------------+------+------------------+--------+
| Name | Age | Cname | Gender |
+--------------+------+------------------+--------+
| GuoJing | 19 | TaiJiquan | M |
| YangGuo | 17 | TaiJiquan | M |
| DingDian | 25 | Qishangquan | M |
| HuFei | 31 | Wanliduxing | M |
| HuangRong | 16 | Qianzhuwandushou | F |
| YueLingshang | 18 | Wanliduxing | F |
| ZhangWuji | 20 | Hamagong | M |
| Xuzhu | 26 | TaiJiquan | M |
+--------------+------+------------------+--------+
8 rows in set (0.00 sec)
外鏈接:
左外鏈接:left_tb LEFT JOIN right_tb ON ... :以左表爲標準
mysql> SELECT s.Name,c.Cname FROM students AS s LEFT JOIN courses AS c ON s.CID1=c.CID;
+--------------+--------------------+
| Name | Cname |
+--------------+--------------------+
| GuoJing | TaiJiquan |
| YangGuo | TaiJiquan |
| DingDian | Qishangquan |
| HuFei | Wanliduxing |
| HuangRong | Qianzhuwandushou |
| YueLingshang | Wanliduxing |
| ZhangWuji | Hamagong |
| Xuzhu | TaiJiquan |
| LingHuchong | NULL |
| YiLin | NULL |
+--------------+--------------------+
10 rows in set (0.00 sec)
右外鏈接 : left_tb RIGHT JOIN right_tb ON ... :以右表爲標準
mysql> SELECT s.Name,c.Cname FROM students AS s RIGHT JOIN courses AS c ON s.CID1=c.CID;
+--------------+--------------------+
| Name | Cname |
+--------------+--------------------+
| GuoJing | TaiJiquan |
| YangGuo | TaiJiquan |
| DingDian | Qishangquan |
| HuFei | Wanliduxing |
| HuangRong | Qianzhuwandushou |
| YueLingshang | Wanliduxing |
| ZhangWuji | Hamagong |
| Xuzhu | TaiJiquan |
| NULL | Yiyangzhi |
| NULL | Jinshejianfa |
| NULL | Qiankundanuoyi |
| NULL | Pixiejianfa |
| NULL | Jiuyinbaiguzhua |
+--------------+--------------------+
13 rows in set (0.01 sec)
自鏈接:本表中不一樣字段間進行鏈接
mysql> SELECT c.Name AS student,s.Name AS teacher FROM students AS c,students AS s WHERE c.TID=s.SID;
+-----------+-------------+
| student | teacher |
+-----------+-------------+
| GuoJing | DingDian |
| YangGuo | GuoJing |
| DingDian | ZhangWuji |
| HuFei | HuangRong |
| HuangRong | LingHuchong |
+-----------+-------------+
5 rows in set (0.02 sec)注意:使用了別名
以下:在students表中查詢年齡大於平均年齡的學生
mysql> SELECT Name,Age FROM students WHERE Age > (SELECT AVG(Age) FROM students);
+-------------+------+
| Name | Age |
+-------------+------+
| DingDian | 25 |
| HuFei | 31 |
| Xuzhu | 26 |
| LingHuchong | 22 |
+-------------+------+
4 rows in set (0.08 sec)
子查詢注意事項:
比較操做中使用子查詢:子查詢只能返回單個值;
IN(): 使用子查詢;
在FROM中使用子查詢;
mysql> (SELECT Name,Age FROM students) UNION (SELECT Tname,Age FROM tutors);+--------------+------+| Name | Age |+--------------+------+| GuoJing | 19 || YangGuo | 17 || DingDian | 25 || HuFei | 31 || HuangRong | 16 || YueLingshang | 18 || ZhangWuji | 20 || HuYidao | 42 || NingZhongze | 49 |+--------------+------+19 rows in set (0.00 sec)