mySQL資料庫三:命令列附錄

來源:互聯網
上載者:User

標籤:建立   person   blog   跨表   between   資訊   亂碼   無法   like   

一:where

在上一篇,粗略的介紹了where,但是where後面可以跟其他的條件,現在我們來一一說明

1.between:在某兩個值之間

我建立一個名為person的表,裡面有id,name,age,post,再插入幾條資料,如所示:

然後我想讓age裡面18到35歲裡面的post改為‘菜鳥‘,那麼我應該運行這行代碼

則顯示的效果為:

2.in:一系列值當中

我想使名為fangming和lisi的POST改為“菜菜鳥”,這個時候我們需要用到了in,代碼如下

實現的效果如下:

 

3.is null 是否為空白

我們有時候需要對錶中資料為空白的數值進行一系列的操作,這個時候我們需要用到is null的操作,代碼如下:

實現的效果如下:

由於我對name沒有進行轉碼操作,所以出現了亂碼,但是效果是出現了

既然有了is null,那就有is not null的操作,為對不是空的數值進行操作,如下:

效果如下:

 

4.like:模糊查詢

我們有時候需要查詢以某一個欄位開頭或者結尾的資料,這個時候就用到了like,與%結合使用,

如我想查詢name中以‘ming‘結尾的欄位,代碼如下

效果如下:

 

 

二.套嵌查詢

我們有時候需要根據兩個表相同的列名進行跨表查詢,這個時候需要用到了巢狀查詢,

 

我有兩個表,一個是學生,一個是班級,如所示:

 

 

 可以看出他們都有一個相同的列名cid,其實這個列名可以不相同,但是只要可以保證可以通過這個列名進行查詢,即有相同數值即可

現在我想查詢學生裡屬於班級人數為52的學生(稍微有點繞0.0),代碼如下:

可能有點繞,但是仔細捋捋還是可以明白的,好,那麼我們加大難度,如果我想將學生的班級資訊和學生資訊一起列印出來,該怎麼辦呢,很明顯,巢狀查詢已經無法滿足我們了,且看下面:

 

三:關聯查詢

我們需要用到關聯查詢了,它的文法是這樣的

select 別名1.列名,別名2.列名 from 表名1 別名1,表名2 別名2 where 別名1.相同列
名=別名2.相同列名;

我知道你已經暈了,好,我們直接上命令列:

效果如下:

是不是很神奇,還有更神奇的,這樣出來預設的是升序,我們可以給定他按照cid的降序進行排列,代碼如下

只需要在後面跟order by 列名  為升序,order by 列名 desc 為降序

 

 

 

 

我們在查詢標的時候,套嵌查詢和關聯查詢一起使用往往可以解決不少問題。

mySQL資料庫三:命令列附錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.