<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用Excel批量生成SQL語(yǔ)句,用過(guò)的人都說(shuō)好

          共 3830字,需瀏覽 8分鐘

           ·

          2022-10-15 03:19

          點(diǎn)擊關(guān)注公眾號(hào),SQL干貨及時(shí)獲取

          后臺(tái)回復(fù): 1024 ,獲取海量學(xué)習(xí)資源

          Excel的公式自動(dòng)生成想必大家都知道了,就是寫(xiě)好一個(gè)公式后直接往下拖,就可以將后面數(shù)據(jù)的公式自動(dòng)生成。


          今天我們就用這個(gè)功能來(lái)快速生成SQL語(yǔ)句。


          導(dǎo)入Excel數(shù)據(jù)

          Excel的數(shù)據(jù)有多種方式,這里我們演示用SQL代碼導(dǎo)入Excel中的數(shù)據(jù)。

          例如我們想把左邊Excel中的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中,如下圖:

          242dda77bcb2ec003a55557e83072157.webp


          寫(xiě)好模板語(yǔ)句

          我們可以先寫(xiě)一條插入語(yǔ)句,如下:

                
                  INSERT INTO Person VALUES(1,'呂布',25,'男','13500000001')
                
              



          然后復(fù)制這條SQL語(yǔ)句打開(kāi)Excel,選中表格后的一個(gè)單元格,在上方函數(shù)位置粘貼剛才的SQL語(yǔ)句并做修改,

                
                  ="INSERT INTO Person VALUES("&A2&",'"&B2&"',"&C2&",'"&D2&"','"&E2&"')"
                
              


          dfc37a172381ccd8cd4da045c7cb8433.webp

          注意前面有個(gè)= 然后整個(gè)SQL用 ""包圍住。


          生成SQL語(yǔ)句

          確認(rèn)后就可以看到在單元格中會(huì)自動(dòng)生成一條SQL語(yǔ)句。選中單元格下拉,會(huì)發(fā)現(xiàn)所有的行后面都會(huì)生成一條SQL語(yǔ)句。

          2eb683c72cdcd6bb1b814255a66003a0.webp


          執(zhí)行SQL

          然后我們直接復(fù)制這些SQL語(yǔ)句到數(shù)據(jù)庫(kù)的查詢(xún)窗口執(zhí)行。

          b7a03f7e9345bfaf8618a373b6bb0bad.webp


          執(zhí)行完后我們查詢(xún)Person表里的數(shù)據(jù)。

          9fa106e30779835d1dcf71f55deb5deb.webp


          這樣就完成了Excel快速生成SQL語(yǔ)句的功能。


          擴(kuò)展SQL示例

          以上只是一個(gè)簡(jiǎn)單的示例,運(yùn)用這種方法我們還可以自動(dòng)生成很多其他的SQL腳本,比如要查詢(xún)數(shù)據(jù)庫(kù)中所有表中的記錄數(shù)。

          當(dāng)然我們可以使用循環(huán)遍歷系統(tǒng)中的所有表然后再用循環(huán)語(yǔ)句執(zhí)行指定的語(yǔ)句,如下:


                
                  --使用循環(huán)語(yǔ)句查詢(xún)所有表的數(shù)量
                
                
                  DECLARE
                
                
                  TNAME VARCHAR2(200);
                
                
                  BEGIN
                
                
                  --獲取系統(tǒng)表中的所有表名
                
                
                    FOR X IN (SELECT TABLE_NAME FROM user_tables where table_name like 'HR_TEMPTABLE%')
                
                
                  --開(kāi)始循環(huán)
                
                
                    LOOP
                
                
                    --循環(huán)主體部分
                
                
                  
                    
          TNAME :=X.TABLE_NAME; --賦值 EXECUTE IMMEDIATE 'SELECT '''X.TABLE_NAME'''||',COUNT(1) Num FROM '||X.TABLE_NAME; --執(zhí)行循環(huán)主體 END LOOP; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line(TNAME); RAISE; END; END;



          套用Excel生成SQL方法

          但是如果是新手同學(xué),不會(huì)寫(xiě)上面的代碼,而此時(shí)又要我們做這樣的事怎么辦呢?就可以使用上面的方法了。

          可以先從系統(tǒng)表中查詢(xún)出所有的表名

                
                  SELECT TABLE_NAME FROM user_tables
                
              


          將表名復(fù)制粘貼到Excel中,然后開(kāi)始寫(xiě)查詢(xún)語(yǔ)句,如下圖:

          0bc8437c6a645ac00c085e5c22eadd42.webp

          然后將這些代碼復(fù)制粘貼到查詢(xún)窗口即可查詢(xún)出所有表中的記錄數(shù)了。

          8a6d18e190abe03e0f16f0ef939fece5.webp


          使用此方法還可以應(yīng)用在很多類(lèi)似的場(chǎng)景,他們的共同點(diǎn)就是代碼結(jié)構(gòu)一樣,但是代碼中的參數(shù)不一樣,對(duì)于想快速寫(xiě)出相應(yīng)的SQL代碼是非常有效的。


          覺(jué)得不錯(cuò),歡迎轉(zhuǎn)發(fā)分享給更多人~

              
          我是岳哥,最后給大家分享我寫(xiě)的SQL兩件套: 《SQL基礎(chǔ)知識(shí)第二版》 《SQL高級(jí)知識(shí)第二版》 的PDF電子版。里面有各個(gè)語(yǔ)法的解釋、大量的實(shí)例講解和批注等等,非常通俗易懂,方便大家跟著一起來(lái)實(shí)操。
          有需要的讀者可以下載學(xué)習(xí),在下面的公眾號(hào)「 數(shù)據(jù)前線 」( 非本號(hào) )后臺(tái)回復(fù)關(guān)鍵字: SQL ,就行 數(shù)據(jù)前線 ——End——

                  
                      
                        后臺(tái)回復(fù)關(guān)鍵字:
                        
                          1024
                        
                      
                      ,獲取一份精心整理的技術(shù)干貨
                    
                  后臺(tái)回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。
                  
                      
                    
                        
                          推薦閱讀
                        
                      
                    
          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲日韩三级片 | 日本黄电影在线看 | 中文字幕在线无码 | 乱伦小说A片 | 国产一区二区三区四区五区六区久久 |