mysql链表_MySql链表语句--博客园老牛大讲堂
為什么鏈表?--博客園老牛大講堂
因為表與表之間有關系,而且查詢時需要兩張表的某些數據。
鏈表的前提是:表與表之間必須設置主外鍵嗎?
不是的,其實表與表之間不需要設置主外鍵關系,用數據庫語句就可以實現鏈表查詢,刪除,修改,增加等操作。
為什么要設置主外鍵呢?
通常我們看到表與表之間有關系,常常設置主外鍵。為什么?其實這樣做是為了規范!假設一個不了解你表結構的人,都能夠任意的修改你的外鍵。那這個表就不嚴謹了。
我們到底設不設主外鍵呢?
分情況: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链表_MySql链表语句--博客园老牛大讲堂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: escape mysql_MySQL中E
- 下一篇: mysql 修改表id值_修改数据库中表