標籤:例子 查詢 表之間 url 串連 主鍵 http image 清除
為什麼鏈表?--部落格園老牛大講堂
因為表與表之間有關係,而且查詢時需要兩張表的某些資料。
鏈表的前提是:表與表之間必須設定主外鍵嗎?
不是的,其實表與表之間不需要設定主外鍵關係,用資料庫語句就可以實現鏈表查詢,刪除,修改,增加等操作。
為什麼要設定主外鍵呢?
通常我們看到表與表之間有關係,常常設定主外鍵。為什嗎?其實這樣做是為了規範!假設一個不瞭解你表結構的人,都能夠任意的修改你的外鍵。那這個表就不嚴謹了。
我們到底設不設主外鍵呢?
分情況:1、如果表結構簡單,少量的表。邏輯不複雜。那麼這個就不需要設定主外鍵了。特別對於資料庫語句不熟悉的人,就方便多了。
2、如果表結構複雜,有大量的表,邏輯複雜的。那麼自己不可能記住所有主外鍵之間的關係,那麼就需要設定主外鍵。
怎樣實現鏈表查詢呢?
鏈表查詢又分為:左聯表,右鏈表。等.
鏈表不僅可以進行查詢,還可以鏈表查詢,鏈表增加,鏈表刪除,鏈表修改。
例子一、--部落格園老牛大講堂
(左聯表)、現在有兩張表,a表與b表,a表主要欄位有:id,a?1,a2,a3。b表欄位有:id,b1,b1_id。其中a表的id為主鍵,b1_id為外鍵。如
思路:左串連就是以左邊的a表為基礎,查詢出所關聯的資料。多餘的資料則清除,缺失的資料則為空白。
左鏈表查詢結果:
例子二、--部落格園老牛大講堂
(右聯表)、現在有兩張表,a表與b表,a表主要欄位有:id,a?1,a2,a3。b表欄位有:id,b1,b1_id。其中a表的id為主鍵,b1_id為外鍵。圖如上所示
思路: 右串連就是以右邊的b表為基礎,原理與左聯結類似。
如果是右串連的結果是:
例子四、--部落格園老牛大講堂
上面都是鏈表查詢結果,下面我說一個鏈表刪除操作。
題目:現有兩張表:chapters表:id(主鍵),name。division表:id(主鍵),name_id(chapters的外鍵),part。
要求:實現鏈表刪除操作。
語句:DELETE c,d FROM chapters c JOIN division d ON c.id=d.name_id WHERE c.id=1
MySql鏈表語句--部落格園老牛大講堂