Mysql學習筆記004

2022-05-01 17:45:10 字數 4604 閱讀 1604

接著前面的寫

舉個栗子:我想給這些pet們過身日,我就要知道pet們的名字和他們的生日。我該怎麼辦?

操作如下:

select name, birth from pet;

mysql> select name, birth

-> from pet;

+----------+------------+

| name | birth |

+----------+------------+

| whistler | 1997-12-09 |

| puffball | 1999-03-30 |

| fluffy | 1993-02-04 |

| claws | 1994-03-17 |

| buffy | 1989-05-13 |

| fang | 1990-08-27 |

| bowser | 1989-08-31 |

| chirpy | 1998-09-11 |

| slim | 1996-04-29 |

+----------+------------+

9 rows in set (0.00 sec)

mysql>

這樣我就可以給這些pet們過生日了。

再舉乙個栗子:沒有故事,我就是想看一看這些小天使們的主人都有誰?

操作如下:

select owner from pet;

mysql> select owner

-> from pet;

+--------+

| owner |

+--------+

| gwen |

| diane |

| harold |

| gwen |

| harold |

| benny |

| diane |

| gwen |

| benny |

+--------+

9 rows in set (0.00 sec)

mysql>

you會發現you查詢到的 owner 中有好多是重複的誒,這好煩啊。

為了讓他們值出現一次 ,加乙個關鍵字 distinct

select distinct owner from pet;

mysql> select distinct owner

-> from pet;

+--------+

| owner |

+--------+

| gwen |

| diane |

| harold |

| benny |

+--------+

4 rows in set (0.00 sec)

mysql>

這下子看著舒服多了

再帶條件舉乙個栗子:要想查詢狗和貓的出生日期 

操作如下:

select name, species, birth from pet where species = 'dog' or species = 'cat';

mysql> select name, species, birth

-> from pet

-> where species = 'dog' or species = 'cat';

+--------+---------+------------+

| name | species | birth |

+--------+---------+------------+

| fluffy | cat | 1993-02-04 |

| claws | cat | 1994-03-17 |

| buffy | dog | 1989-05-13 |

| fang | dog | 1990-08-27 |

| bowser | dog | 1989-08-31 |

+--------+---------+------------+

5 rows in set (0.00 sec)

mysql>

年輕人,你可能注意到了,前面的栗子中的結果,是沒有排好序的。這要是給你的老阪看的話,是要挨批的(雖然你愚蠢的老阪可能看不懂)。所以,就有了order by 這個關鍵字

舉個栗子:給pet們的出生日期排序。 不要問為什麼,無聊。

操作如下:

select name, birth from pet order by birth;

mysql> select name, birth

-> from pet

-> order by birth;

+----------+------------+

| name | birth |

+----------+------------+

| buffy | 1989-05-13 |

| bowser | 1989-08-31 |

| fang | 1990-08-27 |

| fluffy | 1993-02-04 |

| claws | 1994-03-17 |

| slim | 1996-04-29 |

| whistler | 1997-12-09 |

| chirpy | 1998-09-11 |

| puffball | 1999-03-30 |

+----------+------------+

9 rows in set (0.18 sec)

mysql>

這樣看起來就better了呢(然並卵)。

預設的排序是公升序,最小的值在第一行。 

if(想要以降序排列){

在排序的列名上增加desc(降序)關鍵字

操作如下:

select name, birth from pet order by birth desc;

mysql> select name, birth

-> from pet

-> order by birth desc;

+----------+------------+

| name | birth |

+----------+------------+

| puffball | 1999-03-30 |

| chirpy | 1998-09-11 |

| whistler | 1997-12-09 |

| slim | 1996-04-29 |

| claws | 1994-03-17 |

| fluffy | 1993-02-04 |

| fang | 1990-08-27 |

| bowser | 1989-08-31 |

| buffy | 1989-05-13 |

+----------+------------+

9 rows in set (0.00 sec)

mysql>

還可以對多個列進行排序, 並且可以按不同的方向對不同的列進行排序。(書上寫的好複雜啊)

舉個例子:按公升序對動物的種類進行排序,然後按降序根據生日對各動物種類進行排序(最年輕的動物在最前面)

操作如下:

select name, species, birth from pet order by species, birth desc;

mysql> select name, species, birth

-> from pet

-> order by species, birth desc;

+----------+---------+------------+

| name | species | birth |

+----------+---------+------------+

| chirpy | bird | 1998-09-11 |

| whistler | bird | 1997-12-09 |

| claws | cat | 1994-03-17 |

| fluffy | cat | 1993-02-04 |

| fang | dog | 1990-08-27 |

| bowser | dog | 1989-08-31 |

| buffy | dog | 1989-05-13 |

| puffball | hamster | 1999-03-30 |

| slim | snake | 1996-04-29 |

+----------+---------+------------+

9 rows in set (0.08 sec)

mysql>

我的理解:二級排序,公升序排動物五中,降序排年齡。

注意:(書真是為了你們操碎了心)desc 關鍵字, 只影響了birth, 不影響species。

先寫到這裡吧。ヾ(≧o≦)〃嗷~

Perl學習筆記 004

matlab是matrix labrary的簡稱,是一款數學建模軟體,在自然語言處理中常常被用到。聽研究室的前輩說nlp中的聚類,分類以及矩陣分析等等常常用這個軟體進行研究。matlab中有許多關於自然語言處理的包。不過現在正在學習的初級階段,等到10月份的樣子再學習matlab吧。關於表示式中字串...

Python學習筆記004

0042020 7 7 python的比較操作符 左邊大於右邊 左邊大於等於右邊 左邊小於右邊 左邊小於等於右邊 左邊等於右邊 左邊不等於右邊 python條件分支語法 if條件 條件為真 true 執行的操作 else 條件為 false 執行的操作 python的while迴圈語法 while條...

Java學習筆記 004 補充

抽象類 關鍵字 abstract 語法 public abstract class person 作用 抽象類只能被繼承,不能例項化。抽象方法 語法 public abstract void sleep 作用 子類必須重寫父類的抽象方法,乙個都不能少。如果實在不想寫實現方法,可以繼續用抽象類建立。但...