檢索數據 SELECT語句 SELECT語句用途是從一個或多個表中檢索信息。為了使用SELECT檢索表數據,必須至少給出兩條信息——想選擇什麼,以及從什麼地方選擇。 檢索單個列 利用SELECT語句從products表中檢索一個名為prod_name的列: SELECT prod_name FROM ...
檢索數據
SELECT語句
SELECT語句用途是從一個或多個表中檢索信息。為了使用SELECT檢索表數據,必須至少給出兩條信息——想選擇什麼,以及從什麼地方選擇。
檢索單個列
利用SELECT語句從products表中檢索一個名為prod_name的列:
SELECT prod_name FROM products;
註意:
- 未排序數據:如果沒有明確排序查詢結果(下一章介紹),則返回的數據的順序沒有特殊意義。
- 結束SQL語句:多條SQL語句必須以分號(;)分隔。
- SQL語句和大小寫: SQL語句不區分大小寫,許多SQL開發人員喜歡對所有SQL關鍵字使用大寫,而對所有列和表名使用小寫,這樣做使代碼更易於閱讀和調試。
- 使用空格:處理SQL語句時,其中所有空格都被忽略。多數SQL開發人員認為將SQL語句分成多行更容易閱讀和調試。
檢索多個列
從products表中選擇3列:
SELECT prod_id, prod_name, prod_price FROM products;
SQL語句一般返回原始的、無格式的數據。數據的格式化是一個表示問題,而不是一個檢索問題。
檢索所有列
SELECT語句還可以檢索所有的列而不必逐個列出它們:
SELECT * FROM products;
雖然使用通配符可能會使你自己省事,不用明確列出所需列,但檢索不需要的列通常會降低檢索和應用程式的性能。
檢索不同的行
DISTINCT關鍵字指示MySQL只返回不同的值:
SELECT DISTINCT vend_id FROM products;
DISTINCT關鍵字應用於所有列而不僅是前置它的列。如果給出SELECT DISTINCT vend_id, prod_price,除非指定的兩個列都不同,否則所有行都將被檢索出來。
限制結果
為了返回第一行或前幾行,可使用LIMIT子句:
SELECT prod_name FROM products LIMIT 5;
可指定要檢索的開始行和行數:
SELECT prod_name FROM products LIMIT 5, 5;
LIMIT 5, 5指示MySQL返回從行5開始的5行。第一個數為開始位置,第二個數為要檢索的行數。註意行號從0開始。
MySQL 5支持LIMIT的另一種替代語法。LIMIT4 OFFSET 3意為從行3開始取4行,就像LIMIT 3, 4一樣。
使用完全限定的表名
使用完全限定的名字來引用列(同時使用表名和列字):
SELECT products.prod_name FROM products;
表名也可以是完全限定:
SELECT products.prod_name FROM crashcourse.products;