如上所示,檢索整個表是容易的。只需要從select語句中刪掉where子句。但是一般你不想看到整個表,特別地當表變得很大時。相反,你通常對回答乙個具體的問題更感興趣,在這種情況下在你想要的資訊上進行一些限制。讓我們看一些他們回答的有關你寵物的問題的選擇查詢。
可以從表中只選擇特定的行。例如,如果你想要驗證你對bowser的生日所做的更改,按下述方法選擇bowser的記錄:
mysql>select * from pet where name = 'bowser';
| name | owner | species | *** | birth | death |
| bowser | diane | dog | m | 1989-08-31 | 1995-07-29 |
輸出證實正確的年份記錄為1989,而不是1979。
字串比較時通常對大小些不敏感,因此你可以將名字指定為"bowser"、"bowser"等,查詢結果相同。
你可以在任何列上指定條件,不只僅僅是name。例如,如果你想要知道哪個動物在1998以後出生的,測試birth列:
mysql>select * from pet where birth > '1998-1-1';
| name | owner | species | *** | birth | death |
| chirpy | gwen | bird | f | 1998-09-11 | null |
| puffball | diane | hamster | f | 1999-03-30 | null |
可以組合條件,例如,找出雌性的狗:
mysql>select * from pet where species = 'dog' and *** = 'f';
| name | owner | species | *** | birth | death |
| buffy | harold | dog | f | 1989-05-13 | null |
上面的查詢使用and邏輯操作符,也有乙個or操作符:
mysql>select * from pet where species = 'snake' or species = 'bird';
| name | owner | species | *** | birth | death |
| chirpy | gwen | bird | f | 1998-09-11 | null |
| whistler | gwen | bird | null | 1997-12-09 | null |
| slim | benny | snake | m | 1996-04-29 | null |
and和or可以混用,但and比or具有更高的優先順序。如果你使用兩個操作符,使用圓括號指明如何對條件進行分組是乙個好主意:
mysql>select * from pet where (species = 'cat' and *** = 'm')
->or (species = 'dog' and *** = 'f');
| name | owner | species | *** | birth | death |
| claws | gwen | cat | m | 1994-03-17 | null |
| buffy | harold | dog | f | 1989-05-13 | null |
mysql中join的選擇(mysql每日一講)
條件 a表100行資料 b表100行資料 假如 a join b on a.欄位1 b.欄位2 此時驅動表是a表,被驅動表示b表 1 假如b表上字段2建立了索引 那麼a表作為驅動表將會逐行掃瞄,掃瞄100次,b表上字段2有索引,因此a表每一行會讀b表的一行,這樣總掃瞄次數是100 100 200次 ...
mysql 選擇索引 mysql選擇索引
1 盡量為用來搜尋 分類或分組的資料列編制索引,不要為作為輸出顯示的資料列編制索引。最適合有索引的資料列是那些在where子句中資料列,在聯結子句 現的資料列,或者是在group by order by子句 現的資料列。select 後的資料列最好不要用索引。2 綜合考慮各資料列的維度。資料列的維度...
mysql 選擇列 MySQL 選擇所有列( )
示例 詢問select from stack 結果 id username password 1 admin admin 2 stack stack 2 rows in set 0.00 sec 您可以通過執行以下操作從乙個連線的乙個表中選擇所有列 select stack.from stack j...