這里開始,我們正式開始接觸sql語句了,也是以后工作中會經常用到的地方。
SELECT
想從表中查詢出信息,至少給出兩條信息:想選擇什么(列),和從哪里選擇(表)。
從最簡單的開始,比如從customer表查看emali這一列。
select email from customer

同樣是customer表,查詢多個列,列名之間用‘,’隔開
select email, first_name, address_id
from customer

提示:如果你在linux和mac上開發(fā),在mysql的命令行中要在每一句sql后面加上';'。
再次提示:SQL語法是不區(qū)分大小的,比如select 和 SELECT是等價的,不會報語法方面的錯誤。但是也是有潛規(guī)則的,一般來說關鍵字大寫,所有列名和表名使用小寫,這樣易于閱讀和調試,以及后期項目的維護。
接著剛才的說。
檢索所有列,‘’代表所有列。那么查詢所有列就是,select * from 表名。
這個是通配符,如果在開發(fā)中你確實需要表中的所有列,不然請不要使用,因為這會降低檢索和應用程序的性能。
當然,還是有優(yōu)點的,第一省事,第二它能查詢出未知名的列。
去重復,DISTINCT


可以看到,重復的Jon被去掉了,只留有一個。
限制結果
比如,你只想要前5條數(shù)據

當然,你可以要第6條到第10條數(shù)據

limit 5,5 中第一個5代表,返回起始索引,也就是告訴它從哪開始,第二個5代表,返回的條數(shù)。
這樣的語法很容易讓人懵逼,從mysql5開始,可以這么寫limit 5 offset 3,表示從第5條開始取,取3條。
提示:有一種特殊情況,比如你要返回前100條數(shù)據,可是數(shù)據庫中只有80條數(shù)據,那么數(shù)據庫只會返回80條。
什么是完全限定的表名
就是以“數(shù)據庫名.表名”這樣的方式來表示表,因為不同的數(shù)據庫中可以存在相同的表名,這樣做就完全確定了是哪個表,降低出錯的概率。

這個在多表聯(lián)合查詢時會有用。也是工作中會經常用到的。