1、SELECT:数据表查询语句
在 MySQL 中,可以使用 SELECT 語句來查詢數據。查詢數據是指從數據庫中根據需求,使用不同的查詢方式來獲取不同的數據,是使用頻率最高、最重要的操作。
SELECT 的語法格式如下:
SELECT {* | <字段列名>} [ FROM <表 1>, <表 2>… [WHERE <表達式> [GROUP BY <group by definition> [HAVING <expression> [{<operator> <expression>}…]] [ORDER BY <order by definition>] [LIMIT[<offset>,] <row count>] ]其中,各條子句的含義如下:
- {*|<字段列名>}包含星號通配符的字段列表,表示所要查詢字段的名稱。
- <表 1>,<表 2>…,表 1 和表 2 表示查詢數據的來源,可以是單個或多個。
- WHERE <表達式>是可選項,如果選擇該項,將限定查詢數據必須滿足該查詢條件。
- GROUP BY< 字段 >,該子句告訴 MySQL 如何顯示查詢出來的數據,并按照指定的字段分組。
- [ORDER BY< 字段 >],該子句告訴 MySQL按什么樣的順序顯示查詢出來的數據,可以進行的排序有升序(ASC)和降序(DESC),默認情況下是升序。
- [LIMIT[,]],該子句告訴 MySQL 每次顯示查詢出來的數據條數。
下面先介紹一些簡單的 SELECT 語句,關于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制條件,后面我們會一一講解。
查詢表中所有字段
查詢所有字段是指查詢表中所有字段的數據。MySQL 提供了以下 2 種方式查詢表中的所有字段。
1、使用“*”通配符查詢所有字段
列出表的所有字段
1)使用“*”查詢表的所有字段
SELECT 可以使用“*”查找表中所有字段的數據,語法格式如下:
使用“*”查詢時,只能按照數據表中字段的順序進行排列,不能改變字段的排列順序。
例 1
從 tb_students_info 表中查詢所有字段的數據,SQL 語句和運行結果如下所示。
結果顯示,使用“*”通配符時,將返回所有列,數據列按照創建表時的順序顯示。
注意:一般情況下,除非需要使用表中所有的字段數據,否則最好不要使用通配符“”。雖然使用通配符可以節省輸入查詢語句的時間,但是獲取不需要的列數據通常會降低查詢和所使用的應用程序的效率。使用“”的優勢是,當不知道所需列的名稱時,可以通過“*”獲取它們。
2)列出表的所有字段
SELECT 關鍵字后面的字段名為需要查找的字段,因此可以將表中所有字段的名稱跟在 SELECT 關鍵字后面。如果忘記了字段名稱,可以使用 DESC 命令查看表的結構。
有時,由于表的字段比較多,不一定能記得所有字段的名稱,因此該方法很不方便,不建議使用。
例 2
查詢 tb_students_info 表中的所有數據,SQL 語句還可以書寫如下:
運行結果和例 1 相同。
這種查詢方式比較靈活,如果需要改變字段顯示的順序,只需調整 SELECT 關鍵字后面的字段列表順序即可。
雖然列出表的所有字段的方式比較靈活,但是查詢所有字段時通常使用“*”通配符。使用“*”這種方式比較簡單,尤其是表中的字段很多的時候,這種方式的優勢更加明顯。當然,如果需要改變字段顯示的順序,可以選擇列出表的所有字段。
查詢表中指定的字段
查詢表中的某一個字段的語法格式為:
SELECT < 列名 > FROM < 表名 >;例 3
查詢 tb_students_info 表中 name 列所有學生的姓名,SQL 語句和運行結果如下所示。
輸出結果顯示了 tb_students_info 表中 name 字段下的所有數據。
使用 SELECT 聲明可以獲取多個字段下的數據,只需要在關鍵字 SELECT 后面指定要查找的字段名稱,不同字段名稱之間用逗號“,”分隔開,最后一個字段后面不需要加逗號,語法格式如下:
SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;例 4
從 tb_students_info 表中獲取 id、name 和 height 三列,SQL 語句和運行結果如下所示。
輸出結果顯示了 tb_students_info 表中 id、name 和 height 三個字段下的所有數據。
總結
以上是生活随笔為你收集整理的1、SELECT:数据表查询语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 17、MySQL函数简介
- 下一篇: 2、MySQL使用(DISTINCT)过