產品操作MySQL第5篇 – 數據查詢-SELECT

產品操作MySQL第5篇 – 數據查詢-SELECT

MYSQL

本資料為產品崗位作為日常工作參考,語言口語化

At 2019/4/22 By David.Yang

普通查詢(使用簡單的SELECT語句來查詢單個表中的數據)

SELECT語句用來從數據庫中進行數據查詢並返回,

Excel表格我們在構建時有【行】與【列】,

一行在我們的理解下是一行數據,一列是相同屬性的一組數據,

多條行數據或者多列數據是一個集合,

在數據庫中使用SELECT的到的結果我們稱之為結果集,

他是一個行的列表,每行有相同數量的列組成。

比如我們獲得了10條學生記錄,這是一個查詢的結果集,

他有4列:學號、名稱、性別、年齡。


產品操作MySQL第5篇 – 數據查詢-SELECT


SELECT語句可以空值需要查詢哪些行和列。

比如業務需求上只需要學號、姓名、年齡就行了,

或者只想看大俠班的同學的信息,SELECT可以控制提供給你你想看到的維度。

語法:

SELECT

column_1, column_2, ...

FROM

table_1

[INNER | LEFT |RIGHT] JOIN table_2 ON conditions

WHERE

conditions

GROUP BY column_1

HAVING group_conditions

ORDER BY column_1

LIMIT offset, length;

SELECT語句由以下列表中所述的幾個子句組成:

-SELECT 之後接逗號(,)分割需要查詢的數據的列,或星號(*),表示要返回所有數據的列。

-FROM 指定要查詢數據的數據表或視圖。

-JOIN 根據某些連接條件從其他表中獲取數據,涉及多數據表聯合查詢使用。

-WHERE 過濾結果集中的行,有條件對數據進行查詢。

-GROUP BY 將一組行組合成小分組,並對每個小分組應用聚合函數。

-HAVING 過濾器基於GROUP BY子句定義的小分組。

-ORDER BY 指定用於排序的列的列表。

-LIMIT限制返回行的數量。

語句中的SELECT和FROM語句是必須的,其他部分是可選的。

本篇對SELECT進行講解,其他子語句將分批講解。

SELECT語句演示

讓數據庫給你想要的數據列

語法當中說到過,SELECT支持通過引文逗號(,)開分割需要查詢數據的列,

比如我們只想查看學生的學號、姓名、性別、年齡

SQL

SELECT

number,name,gender,age

FROM

students;


產品操作MySQL第5篇 – 數據查詢-SELECT


我們看看學生表原始有哪些數據列:

SQL

show createtable students;


產品操作MySQL第5篇 – 數據查詢-SELECT


儘管我們定義了很完整的數據列,但是業務上只需要學號、姓名、性別、年齡,

所以通過SELECT控制我們的數據庫也只返回了我們所需要的數據列,

真乖~

讓數據庫給你所有數據列

下面我們看一下SELECT後數據列控制發生一點變化,

會有什麼結果?

SQL

SELECT * FROM students;


產品操作MySQL第5篇 – 數據查詢-SELECT


數據庫把所有的數據列都返回來了。

這是因為我們告訴了數據庫,我想要列出數據的所有列,

怎麼告訴他的呢?

我們在SELECT後面用星號(*)代替了逗號(,),

所以產生了以上的查詢結果。

注:

ϒ使用星號(*)會返回所有數據列,但也包括了你不需要的數據列。這回在數據庫服務器造成不必要的磁盤I/O,在數據庫和應用程序間也會帶來不必要的網絡流量傳遞

ϒ使用星號(*)會造成意外的敏感數據暴露

ϒ返回所有數據列會給你帶來意外的結果集管理麻煩。如果數據表有數量較多的數據列,查詢的結果都列出來對你來說數據查看也是個負擔

到此應該已經幫助你熟悉了數據庫的查詢語法,你可以上手實操一把查詢的體驗了。


分享到:


相關文章: