Mysql學習筆記003

來源:互聯網
上載者:User

標籤:warning   檢查   change   一個資料庫   資訊   text   錯誤   ati   記錄   

從表檢索資訊

  在前面,我, 建立了一個資料庫test 進入資料庫 建立了一個表pet 插入了一些資料。那麼問題來了,我要是想要瞅一瞅我的表中的資料腫麼辦呢?莫著急,待我一一道來

SELECT語句

語句的一般格式:

SELECT what_to_select

FROM which_table

WHERE conditions_to_satisfy;

這是一個簡單的SELECT語句的基本格式了,詳細複雜的以後再說。

選擇所有資料

SELECT最簡單的形式是從一個表中檢索所有記錄:

mysql> SELECT * FROM pet;
+----------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+------------+
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
+----------+--------+---------+------+------------+------------+
9 rows in set (0.00 sec)

mysql>

沒錯!就是有這種操作,厲不厲害。(?????)

 

簡單講一講(其實沒講)UPDATE語句

現在能看見表中的所有資料了,你就何以檢查表中的資料有沒有錯誤了。

這時候你突然發現(書上提示的),Bowser的出生日期不對呀,應該是1989年出生的,而不是1979年。

So,你就想怎麼更改這條資料。於是你在某一個月光下的夜晚,你悄悄的刪除(DELETE)了表中的所有資料,又在pet.txt檔案中更改了回來,重新將pet.txt匯入(LOAD DATA)到表中。這樣做顯然是非常愚蠢的。

然而,在很久很久以前上神們曾經創造過這樣的一個命令 UPDATE 用於更改有問題的記錄用的。

mysql> UPDATE pet SET birth = ‘1989-08-31‘ WHERE name = ‘Bowser‘;
Query OK, 1 row affected (0.18 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql>

這樣就更改了錯誤的資料。

 

選擇特殊行

舉個栗子:剛才我用上神賜予我的UPDATE語句,更改了Bowser的生日,我想看一看有木有更改成功。

操作如下:

SELECT * FROM pet WHERE name = ‘Bowser‘;

mysql> SELECT *
-> FROM pet
-> WHERE name = ‘Bowser‘;
+--------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
1 row in set (0.00 sec)

mysql>

嗯。。。看來上神沒有騙我們

 

接著舉個例子:我想要知道哪個動物在1998年以後出生的

操作如下:

SELECT * FROM pet WHERE birth > ‘1998-1-1‘;

mysql> SELECT *
-> FROM pet
-> WHERE birth > ‘1998-01-01‘;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
+----------+-------+---------+------+------------+-------+
2 rows in set (0.14 sec)

mysql>

 

接著舉個栗子:我想要給我們家李狗蛋找一個小母狗交配,我就要找一個小母狗 作為李狗蛋的交配對象。

操作如下:

SELECT * FROM pet WHERE species = ‘dog‘ AND sex = ‘f‘;

mysql> SELECT *
-> FROM pet
-> WHERE species = ‘dog‘ AND sex = ‘f‘;
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
1 row in set (0.00 sec)

mysql>

很好,我們李家有後了。

 

還是一個栗子:沒有故事了

操作如下:

SELECT * FROM get WHERE species = ‘snake‘ OR species = ‘bird‘;

mysql> SELECT *
-> FROM pet
-> WHERE species = ‘snake‘ OR species = ‘bird‘;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
+----------+-------+---------+------+------------+-------+
3 rows in set (0.00 sec)

mysql>

 

又是一個栗子:真的沒有故事了 只是想說AND 和OR 可以混用,but AND 比 OR 具有更高的優先順序,So像我這樣的老司機都是加括弧的(為了方便愚蠢的凡人們閱讀)。

操作如下:

SELECT * FROM pet WHERE (species = ‘cat‘ AND sex = ‘m‘) OR (species = ‘dog‘ AND sex = ‘f‘);

mysql> SELECT *
-> FROM pet
-> WHERE (species = ‘cat‘ AND sex = ‘m‘)
-> OR (species = ‘dog‘ AND sex = ‘f‘);
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
2 rows in set (0.00 sec)

mysql>

 好氣呀,後面還有很多沒有講完。

Mysql學習筆記003

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.