使用Excel批量生成SQL語(yǔ)句,用過(guò)的人都說(shuō)好
點(diǎn)擊關(guān)注公眾號(hào),SQL干貨及時(shí)獲取
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ù)中,如下圖:

寫(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&"')"
注意前面有個(gè)= 然后整個(gè)SQL用 ""包圍住。
生成SQL語(yǔ)句
確認(rèn)后就可以看到在單元格中會(huì)自動(dòng)生成一條SQL語(yǔ)句。選中單元格下拉,會(huì)發(fā)現(xiàn)所有的行后面都會(huì)生成一條SQL語(yǔ)句。
執(zhí)行SQL
然后我們直接復(fù)制這些SQL語(yǔ)句到數(shù)據(jù)庫(kù)的查詢(xún)窗口執(zhí)行。
執(zhí)行完后我們查詢(xún)Person表里的數(shù)據(jù)。
這樣就完成了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ù)制粘貼到查詢(xún)窗口即可查詢(xún)出所有表中的記錄數(shù)了。

覺(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)入高手如云的交流群。
推薦閱讀

