MySQL-檢索

檢索兩要點:

  1. 檢索什麼
  2. 從哪裏檢索

語法就是

SELECT 列名        #檢索哪一列
FROM 表           #從哪張表檢索

現在有一個表,名爲products。我們看一下這張表裏有哪些列(字段)

 DESCRIBE products;

這裏寫圖片描述

看到有vend_id列(供應商id),好,現在來看看這一列是什麼樣的

SELECT vend_id
FROM products;

這裏寫圖片描述

可以看到vend_id列中的數據,你會發現裏面有很多重複的供應商id,現在我想看看總共有幾個供應商,用DISTINCT關鍵字來過濾掉重複的數據

SELECT DISTINCT vend_id
FROM products;

這裏寫圖片描述

發現供應商一共就4家。

注意:DISTINCT不能部分運用,如果是置於多個列名前

SELECT DISTINCT vend_id, prod_name
FROM products;

DISTINCT將會過濾的是兩列都相同的數據,一個列數據相同,另一個不同,則當做不同。把這兩列當成一個元組來看(vend_id, prod_name)。

以上都是檢索單個列的,那麼能不能檢索多個列呢??
很簡單,列名之間加逗號就行,不過最後一個列名不要加,否則報錯

SELECT prod_id, vend_id, prod_name
FROM products

這裏寫圖片描述

當然,如果你想看下整張表的內容,可以使用通配符*

SELECT *
FROM products;

Tips:

  • SQL不區分大小寫,但是習慣上,關鍵字要大寫,列名和表名小寫
  • SQL語句會省略空行,因此爲了閱讀體驗,建議像上面那樣多行書寫
  • SQL語句結尾用分號;
  • 由於上面都沒有按照某種順序檢索,因此得出的數據的順序是沒有意義的

上面我們檢索列的時候都是把該列所有行都檢索出來,但其實我們可以選擇其中的一部分行來檢索。使用LIMIT關鍵字就能實現部分檢索

SELECT vend_id
FROM products
LIMIT 5

這裏寫圖片描述

顯示一共輸出了5行,但是這是從行0(即第一行)開始的。我們是可以選擇開始行的。LIMIT 5 == LIMIT 0,5 意爲從行0開始的5行

格式: LIMIT 開始行, 行數

如果我們檢索超過最大行數會怎樣?不怎麼樣,超過部分直接忽略,最大多少就是多少。比如一共13行,現在從行10取5行LIMIT 10, 5
但實際上得到的只能是行10,行11,行12 這三行,而不是5行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章