通過Excel生成批量SQL語句(Excel快速生成SQL更新語句)
們經(jīng)常會(huì)遇到這樣的要求:用戶給發(fā)過來一些數(shù)據(jù),要我們直接給存放到數(shù)據(jù)庫里面,有的是Insert,有的是Update等等,少量的數(shù)據(jù)我們可以采取最原始的辦法,也就是在SQL里面用Insert into來實(shí)現(xiàn),但是如果有幾十條幾百條甚至上千條數(shù)據(jù)的時(shí)候繼續(xù)寫單獨(dú)的SQL語句的話那就慘了,其實(shí)有兩種簡單的方法;
第一,將Excel數(shù)據(jù)整理好了之后,通過SQL的導(dǎo)入功能直接導(dǎo)進(jìn)數(shù)據(jù)庫,但是得保證數(shù)據(jù)庫字段和Excel的字段一致。
第二,通過Excel來生成對應(yīng)的SQL語句,直接將SQL語句復(fù)制到分析器里面執(zhí)行即可,本文就說一下如何來實(shí)現(xiàn)這第二種辦法。
首先看下圖,我們的目的就是將這20條數(shù)據(jù)Insert到數(shù)據(jù)庫里面去,一條兩條的話可以自己寫Insert語句,這里有20條數(shù)據(jù),總不能完全手寫20條語句出來吧,

很顯然,不能一條一條的去寫SQL了,太多了,這里還只有20條,如果是200條,2000條數(shù)據(jù)呢?
INSERT INTO TableName(Column1,Column2,Column3) VALUES('Value1','Value2','Value3')

寫出一條語句之后,直接從頭拉到尾,你會(huì)發(fā)現(xiàn)所有的數(shù)據(jù)都有對應(yīng)的腳本了,這個(gè)時(shí)候你便可以直接復(fù)制到分析器,按一下"F5",OK,你的任務(wù)完成了。

因?yàn)樵诠嚼锩?,所以有時(shí)候那些語句會(huì)變化,當(dāng)你生成這些語句之后,你可以選擇性的粘貼為數(shù)值,然后再放到SQL里面去執(zhí)行,如下:

好了,以上是我的一點(diǎn)兒小經(jīng)驗(yàn),希望對大家有用,只有互相分享才能得到提高,如果您覺得還行的話請幫忙頂一下,謝謝!
下面補(bǔ)充是啟源分享的
Excel快速生成SQL更新語句
供應(yīng)商調(diào)整了產(chǎn)品信息,我們的業(yè)務(wù)系統(tǒng)需要進(jìn)行同步。運(yùn)維部同事已經(jīng)把產(chǎn)品新的產(chǎn)品信息發(fā)過來。如圖:

雖然后臺(tái)可以調(diào)整參數(shù),但是竟然有幾百個(gè)產(chǎn)品都更新了,作為程序員的我們當(dāng)然不會(huì)傻傻的去挨個(gè)調(diào)整,使用SQL語句幾分鐘就搞定,而且還不出錯(cuò)。
Excel連接字符串使用 and符號(&),常量使用 雙引號(”),有這些只是就可以開工了。
根據(jù)規(guī)則,在后邊的單元格中輸入公式。比如: =”update 表名 set 字段1='” & B2 & “‘,字段2='” & B2*1 & “‘ where 字段三='” & B3 & “‘”
如圖,每個(gè)選擇的單元格 還會(huì)自動(dòng)高亮,非常人性化。

測試單個(gè) 腳本無誤后,直接拉下來,到查詢分析器里 執(zhí)行,你就會(huì)發(fā)現(xiàn),世界原來如此美好:)。

下面是brusss同學(xué)分享的
excel批量生成SQL語句操作
根據(jù)用戶提供的excel表格,根據(jù)其中某些列對excel中關(guān)聯(lián)的數(shù)據(jù)進(jìn)行數(shù)據(jù)庫更新,
用戶提供的excel如下:

在K2單元格輸入 :
="update business_contract_detail set haveInsuranceSum='"&E2&"',maxInsuranceRatio='"&G2&"',maxInsuranceAmount='"&F2&"' where serialno=(select serialno from business_contract where business_type = '"&B2&"')"
在L2單元格輸入:
="update business_contract_detail set minVehicleFinancingAmount ='"&H2&"',maxVehicleFinancingAmount ='"&I2&"',minShoufuRatio ='"&J2&"' where serialno=(select serialno from business_contract where business_type = '"&B2&"')"
如下圖 ,注意最好要保證excel要取值的列單元格格式為文本格式

L2單元格 :

輸入完畢,點(diǎn)擊如上截圖的 按鈕 ,鼠標(biāo)移動(dòng)到K2,右下角 ,出現(xiàn) “”+“”時(shí)雙擊書記左鍵 ,或者向下拖到至excel最后一行數(shù)據(jù)處,即可生成所有SQL, L列同樣如此 ,輸入時(shí)所有標(biāo)點(diǎn)或者單雙引號必須為英文符號 。
該文章只是工作中自己學(xué)習(xí)筆記,僅供參考
相關(guān)文章

陽歷/農(nóng)歷轉(zhuǎn)換對照表怎么做? Excel制作日歷表/萬年歷的最終版
想要制作陽歷/農(nóng)歷轉(zhuǎn)換對照表,,通過這個(gè)對照表,你只需知道陽歷日期,就可以快速準(zhǔn)確的找到對應(yīng)的農(nóng)歷日期,下面我們就來看看詳細(xì)制作方法2025-04-10
三分鐘就搞定! Excel快速制作一個(gè)日歷表/萬年歷的技巧
工作上需要制作一個(gè)日歷表/萬年歷,該怎么制作呢?我們需要使用三個(gè)excel函數(shù)來實(shí)現(xiàn),詳細(xì)請看下文介紹2025-04-10
這個(gè)函數(shù)公式簡直太強(qiáng)了! excel按權(quán)重求和計(jì)算的技巧
Excel中有一個(gè)功能非常強(qiáng)大的函數(shù),它就是SUMPRODUCT函數(shù),既能求和、計(jì)數(shù)、權(quán)重計(jì)算,還能排名等,今天我們就來看看Excel根據(jù)權(quán)重求和的技巧2025-04-10
tocol函數(shù)哪個(gè)版本能用? excel中tocol函數(shù)的兩種高級用法
TOCOL函數(shù)公式非常強(qiáng)大,值得一學(xué),從字面意義可以理解出來,它是將數(shù)據(jù)轉(zhuǎn)換成一列的,今天分享TOCOL函數(shù)的2種高級用法2025-04-10
Excel隱藏行和折疊行有什么不同? 隱藏行和折疊使用方法和區(qū)別介紹
excel表格進(jìn)行操作的時(shí)候,發(fā)現(xiàn)有隱藏和和折疊行,看上去效果一樣,都隱藏了,但是兩者是有很大區(qū)別的,詳細(xì)請看下文介紹2025-03-21
Excel工齡計(jì)算不再愁! Excel隱藏函數(shù)DATEDIF輕松計(jì)算精確到天級的工齡
在日常工作中,我們經(jīng)常需要計(jì)算員工的工齡,以便進(jìn)行人事管理、薪資調(diào)整等工作,本文將詳細(xì)介紹如何在Excel表格中計(jì)算工齡,并提供多種實(shí)用方法供您選擇2025-03-13
快速提高工作效率! Excel高手的8個(gè)技巧勸你學(xué)學(xué)
Excel數(shù)據(jù)處理遇到的問題,99%都是由于奇葩的數(shù)據(jù)格式造成的,今天跟大家整理了幾個(gè)Excel表格構(gòu)建的規(guī)則,先不要問為什么,照著做就對了2025-03-06
Excel透視表1月到12月不能排序怎么辦? 數(shù)據(jù)透視表日期無法排序解決方法
如圖對數(shù)據(jù)透視表日期進(jìn)行升序排序后,仍不是我們想要的結(jié)果,有可能月份是文本,不能排列,下面我們就來看看詳細(xì)解決辦法2025-03-06
財(cái)務(wù)審計(jì)必會(huì)! 2分鐘搞定用excel做賬齡劃分的技巧
首先咱們得明確一下賬齡的概念,簡單來說,賬齡就是某個(gè)賬戶的余額從產(chǎn)生到現(xiàn)在的時(shí)間長度,比如,一年以內(nèi)的賬齡就是那些在過去一年內(nèi)產(chǎn)生的債權(quán)或債務(wù),下面我們就來看看2025-03-06
實(shí)現(xiàn)辦公自動(dòng)化! DeepSeek搭配Excel制作自定義按鈕的技巧
DeepSeek生成想要的代碼很方便,如果將生成的代碼放到excel中作為vba代碼使用,豈不是能實(shí)現(xiàn)辦公自動(dòng)化?下面我們就來看看實(shí)現(xiàn)方法2025-03-05


