1. 程式人生 > >Mysql必知必會 檢索數據

Mysql必知必會 檢索數據

地方 必知必會 data 限制 因此 eve tro 例子 mys

檢索數據

SELECT 語句

為了使用SELECT檢索表數據,必須至少給出兩條信息——想選擇什麽,以及從什麽地方選擇

功能 語句 備註
檢索單個列 SELECT col_1 FROM table_name 從table_name表中檢索出col_1列
檢索多個列 SELECT col_1, col_2 FROM table_name (列名之間用逗號分隔) 從table_name表中檢索出col_1和col_2列
檢索所有列 SELECT * FROM table_name 檢索table_name表中的所有列;
檢索不同的行 SELECT DISTINCT col_1 FROM table_name 只返回不同(唯一)的col_1行(如果使用DISTINCT關鍵字,它必須直接放在列名的前面。)

關於通配符

除非你確實需要表中的每個列,否則**最好別使用*通配符**。檢索不需要的列通常會降低檢索和應用程序的性能。

檢索未知列

使用通配符有一個大優點。由於不明確指定列名(因為星號檢索每個列),所以能檢索出名字未知的列。

不能部分使用DISTINCT

DISTINCT關鍵字應用於所有列而不僅是前置它的列。如果給出SELECT DISTINCT col_1, col_2,除非指定的兩個列都不同,否則所有行都將被檢索出來。

限制返回結果

功能 語句 備註
限制返回前幾行 SELECT col_1 FROM table_name LIMIT 5 返回前5行
限制返回指定行開始的前幾行 SELECT col_1 FROM table_name LIMIT 5 返回行5(第六行)開始的前5行
LIMIT 4 OFFSET 3 從行3開始取4行( MySQL 5支持LIMIT的另一種替代語法)

行0

檢索出來的第一行為行0而不是行1。因此,LIMIT 1, 1
將檢索出第二行而不是第一行。

完全限定列名和表名

使用完全限定的名字來引用列(同時使用表名和列字)。
下面用3條完全等價的語句舉例子:

  1. SELECT col_1 FROM table_name
  2. SELECT table_name.col_1 FROM table_name
  3. SELECT table_name.col_1 FROM data_base.table_name

Mysql必知必會 檢索數據