資料庫查詢語句select有什麼用?

青灯夜游
發布: 2020-10-19 11:10:46
原創
27621 人瀏覽過

資料庫查詢語句select用於從表中選取數據,結果被儲存在一個結果表中(稱為結果集);語法格式為「SELECT [列名稱] FROM 表名稱[WHERE子句的等限制條件];」。

資料庫查詢語句select有什麼用?

(推薦教學:mysql影片教學

SELECT 語句

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 可以使用「*」查找表中所有欄位的數據,語法格式如下:

SELECT * FROM 表名;
登入後複製

使用「*」查詢時,只能依照資料表中欄位的順序排列,無法改變欄位的排列順序。

例 1

從 tb_students_info 表中查詢所有欄位的數據,SQL 語句和運行結果如下所示。

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_info;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.26 sec)
登入後複製

結果顯示,使用「*」通配符時,將傳回所有列,資料列會依照建立表格時的順序顯示。

注意:一般情況下,除非需要使用表中所有的欄位數據,否則最好不要使用通配符「*」。雖然使用通配符可以節省輸入查詢語句的時間,但是取得不需要的列資料通常會降低查詢和所使用的應用程式的效率。使用“*”的優點是,當不知道所需列的名稱時,可以透過“*”取得它們。

查詢表中指定的欄位

查詢表中的某一個欄位的語法格式為:

SELECT < 列名 > FROM < 表名 >;
登入後複製

範例2

查詢tb_students_info 表中name 欄位所有學生的姓名,SQL 語句和執行結果如下所示。

mysql> SELECT name FROM tb_students_info;
+--------+
| name   |
+--------+
| Dany   |
| Green  |
| Henry  |
| Jane   |
| Jim    |
| John   |
| Lily   |
| Susan  |
| Thomas |
| Tom    |
+--------+
10 rows in set (0.00 sec)
登入後複製

輸出結果顯示了 tb_students_info 表中 name 欄位下的所有資料。

使用SELECT 聲明可以取得多個欄位下的數據,只需要在關鍵字SELECT 後面指定要尋找的欄位名稱,不同欄位名稱之間用逗號“,”分隔開,最後一個欄位後面不需要加逗號,語法格式如下:

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;
登入後複製

範例3

從tb_students_info 表中取得id、name 和height 三列,SQL 語句和執行結果如下所示。

mysql> SELECT id,name,height
    -> FROM tb_students_info;
+----+--------+--------+
| id | name   | height |
+----+--------+--------+
|  1 | Dany   |    160 |
|  2 | Green  |    158 |
|  3 | Henry  |    185 |
|  4 | Jane   |    162 |
|  5 | Jim    |    175 |
|  6 | John   |    172 |
|  7 | Lily   |    165 |
|  8 | Susan  |    170 |
|  9 | Thomas |    178 |
| 10 | Tom    |    165 |
+----+--------+--------+
10 rows in set (0.00 sec)
登入後複製
輸出結果顯示了 tb_students_info 表中 id、name 和 height 三個欄位下的所有資料。

以上是資料庫查詢語句select有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!