国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種Mysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法

      文檔序號(hào):6492276閱讀:1087來(lái)源:國(guó)知局
      一種Mysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法
      【專利摘要】一種Mysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,包括:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表;當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的path字段來(lái)匹配節(jié)點(diǎn),查到該節(jié)點(diǎn)下所有節(jié)點(diǎn)。還可以再增加一個(gè)layer字段,該layer字段記錄每個(gè)節(jié)點(diǎn)的層級(jí);步驟3:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的layer字段來(lái)匹配節(jié)點(diǎn),查到某一層級(jí)的所有節(jié)點(diǎn),或者某一層級(jí)的節(jié)點(diǎn)個(gè)數(shù)。本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種簡(jiǎn)單有效的Mysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,增強(qiáng)sql語(yǔ)句的可讀性、維護(hù)性、可移植能力。
      【專利說(shuō)明】一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及M ysql數(shù)據(jù)庫(kù),屬于數(shù)據(jù)庫(kù)檢索領(lǐng)域,具體是指一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法。
      【背景技術(shù)】
      [0002]圖1是M ysql數(shù)據(jù)庫(kù)樹(shù)形結(jié)構(gòu)展現(xiàn)形式示意圖。其樹(shù)形結(jié)構(gòu)標(biāo)準(zhǔn)結(jié)構(gòu)圖如圖2所示,圖中表的字段為id,name, fid,其中fid為父結(jié)點(diǎn)id。對(duì)于此種表的檢索方法有兩種:第I種方法是:先通過(guò)Parent_ID查詢出所有子節(jié)點(diǎn),然后依次查詢子節(jié)點(diǎn)下所有下級(jí)節(jié)點(diǎn)。依次循環(huán)。第2種方法是:通過(guò)定義存儲(chǔ)過(guò)程。利用游標(biāo)的下移查找所有節(jié)點(diǎn)。
      [0003]以上兩種做法均有缺陷,第I種方法不能夠一次性取出目標(biāo)數(shù)據(jù),需要多次訪問(wèn)數(shù)據(jù)庫(kù),效率極低;第2種方法可讀性差、難以維護(hù)、可移植能力差。
      有鑒于此,本發(fā)明人針對(duì)現(xiàn)有技術(shù)的缺陷深入研究,并有本案產(chǎn)生。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種簡(jiǎn)單有效的M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,增強(qiáng)sql語(yǔ)句的可讀性、維護(hù)性、可移植能力。
      [0005]本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問(wèn)題:
      技術(shù)方案之一:
      一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,包括如下步驟:
      步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表;
      步驟2:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的path字段來(lái)匹配節(jié)點(diǎn),查到該節(jié)點(diǎn)下所有節(jié)點(diǎn)。
      [0006]技術(shù)方案之二:
      一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,包括如下步驟:
      步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表;
      步驟2:在所述新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上再增加一個(gè)layer字段,該layer字段記錄每個(gè)節(jié)點(diǎn)的層級(jí);
      步驟3:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的layer字段來(lái)匹配節(jié)點(diǎn),查到某一層級(jí)的所有節(jié)點(diǎn),或者某一層級(jí)的節(jié)點(diǎn)個(gè)數(shù)。
      [0007]本發(fā)明的優(yōu)點(diǎn)在于:數(shù)據(jù)庫(kù)中定義了一張數(shù)據(jù)表,表中存儲(chǔ)樹(shù)形數(shù)據(jù)(如:組織結(jié)構(gòu)、站點(diǎn)地圖)。查詢某一個(gè)節(jié)點(diǎn)下所有子節(jié)點(diǎn)時(shí),通過(guò)創(chuàng)建一個(gè)特殊的路徑字段,提高檢索效率。而查詢某一個(gè)節(jié)點(diǎn)下某一層級(jí)的所有子節(jié)點(diǎn)時(shí),通過(guò)創(chuàng)建一個(gè)層級(jí)字段來(lái)實(shí)現(xiàn)。本發(fā)明簡(jiǎn)單有效,增強(qiáng)sql語(yǔ)句的可讀性、維護(hù)性、可移植能力。
      【專利附圖】

      【附圖說(shuō)明】
      [0008]下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
      [0009]圖1是M ysql數(shù)據(jù)庫(kù)樹(shù)形結(jié)構(gòu)展現(xiàn)形式示意圖。
      [0010]圖2是M ysql數(shù)據(jù)庫(kù)樹(shù)形結(jié)構(gòu)標(biāo)準(zhǔn)結(jié)構(gòu)圖。
      [0011]圖3是本發(fā)明第一實(shí)施例的樹(shù)形結(jié)構(gòu)示意圖。
      [0012]圖4是本發(fā)明第一實(shí)施例的查詢結(jié)果示意圖。
      [0013]圖5是本發(fā)明第二實(shí)施例的樹(shù)形結(jié)構(gòu)示意圖。
      [0014]圖6是本發(fā)明第二實(shí)施例的查詢結(jié)果示意圖。
      [0015]圖7是本發(fā)明第二實(shí)施例的查詢個(gè)數(shù)結(jié)果示意圖。
      【具體實(shí)施方式】
      [0016]第一實(shí)施例:
      一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,包括如下步驟:
      步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,如圖3所示,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接,圖3所示為用冒號(hào)拼接;得到一新的樹(shù)形數(shù)據(jù)`結(jié)構(gòu)表;
      步驟2:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),如果想要查詢“黑龍江”下所有節(jié)點(diǎn),只要根據(jù)“黑龍江”這個(gè)節(jié)點(diǎn)的path字段來(lái)匹配節(jié)點(diǎn),查到該節(jié)點(diǎn)下所有節(jié)點(diǎn)。
      [0017]S ql實(shí)例:查詢“黑龍江”下所有節(jié)點(diǎn)
      Select * from location where path like ‘1:5%’ ;
      得到的結(jié)果如圖4所示。
      [0018]第二實(shí)施例:
      一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,包括如下步驟:
      步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表;
      步驟2:在所述新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上再增加一個(gè)layer字段,如圖5所示,該layer字段記錄每個(gè)節(jié)點(diǎn)的層級(jí);
      步驟3:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的layer字段來(lái)匹配節(jié)點(diǎn),查到某一層級(jí)的所有節(jié)點(diǎn),或者某一層級(jí)的節(jié)點(diǎn)個(gè)數(shù)。
      [0019]S ql實(shí)例:查詢“行政機(jī)構(gòu)”下所有第三級(jí)的節(jié)點(diǎn)
      Select * from location where path like H and layer=3 ;
      得到的結(jié)果如圖6所示。
      [0020]S ql實(shí)例:查詢“行政機(jī)構(gòu)”下所有第三級(jí)的節(jié)點(diǎn)個(gè)數(shù)
      Select count (id) from location where path like ^ 1:%> and layer=3 ;
      得到的結(jié)果如圖7所示。
      [0021]本發(fā)明提供一種簡(jiǎn)單有效的M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,增強(qiáng)sql語(yǔ)句的可讀性、維護(hù)性、可移植能力,提高了檢索效率。
      [0022]以上所述僅為本發(fā)明的較佳實(shí)施用例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,其特征在于:包括如下步驟: 步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表; 步驟2:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的path字段來(lái)匹配節(jié)點(diǎn),查到該節(jié)點(diǎn)下所有節(jié)點(diǎn)。
      2.—種M ysql數(shù)據(jù)庫(kù)下樹(shù)形數(shù)據(jù)結(jié)構(gòu)的檢索方法,其特征在于:包括如下步驟: 步驟1:在標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上增加一個(gè)path字段,該path字段記錄每個(gè)節(jié)點(diǎn)的路徑,該path字段內(nèi)容為:本節(jié)點(diǎn)及上級(jí)所有節(jié)點(diǎn)通過(guò)字符拼接;得到一新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表; 步驟2:在所述新的樹(shù)形數(shù)據(jù)結(jié)構(gòu)表的基礎(chǔ)上再增加一個(gè)layer字段,該layer字段記錄每個(gè)節(jié)點(diǎn)的層級(jí); 步驟3:當(dāng)執(zhí)行數(shù)據(jù)查詢時(shí),根據(jù)所要查詢的節(jié)點(diǎn)的layer字段來(lái)匹配節(jié)點(diǎn),查到某一層級(jí)的所有節(jié)點(diǎn),或者某一層級(jí)的節(jié)點(diǎn)個(gè)數(shù)。
      【文檔編號(hào)】G06F17/30GK103853773SQ201210511993
      【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2012年12月4日 優(yōu)先權(quán)日:2012年12月4日
      【發(fā)明者】高峰 申請(qǐng)人:廈門億聯(lián)網(wǎng)絡(luò)技術(shù)股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1