通過Excel生成批量SQL語句(Excel快速生成SQL更新語句)

們經(jīng)常會遇到這樣的要求:用戶給發(fā)過來一些數(shù)據(jù),要我們直接給存放到數(shù)據(jù)庫里面,有的是Insert,有的是Update等等,少量的數(shù)據(jù)我們可以采取最原始的辦法,也就是在SQL里面用Insert into來實現(xiàn),但是如果有幾十條幾百條甚至上千條數(shù)據(jù)的時候繼續(xù)寫單獨的SQL語句的話那就慘了,其實有兩種簡單的方法;
第一,將Excel數(shù)據(jù)整理好了之后,通過SQL的導入功能直接導進數(shù)據(jù)庫,但是得保證數(shù)據(jù)庫字段和Excel的字段一致。
第二,通過Excel來生成對應的SQL語句,直接將SQL語句復制到分析器里面執(zhí)行即可,本文就說一下如何來實現(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')
寫出一條語句之后,直接從頭拉到尾,你會發(fā)現(xiàn)所有的數(shù)據(jù)都有對應的腳本了,這個時候你便可以直接復制到分析器,按一下"F5",OK,你的任務完成了。
因為在公式里面,所以有時候那些語句會變化,當你生成這些語句之后,你可以選擇性的粘貼為數(shù)值,然后再放到SQL里面去執(zhí)行,如下:
好了,以上是我的一點兒小經(jīng)驗,希望對大家有用,只有互相分享才能得到提高,如果您覺得還行的話請幫忙頂一下,謝謝!
下面補充是啟源分享的
Excel快速生成SQL更新語句
供應商調(diào)整了產(chǎn)品信息,我們的業(yè)務系統(tǒng)需要進行同步。運維部同事已經(jīng)把產(chǎn)品新的產(chǎn)品信息發(fā)過來。如圖:
雖然后臺可以調(diào)整參數(shù),但是竟然有幾百個產(chǎn)品都更新了,作為程序員的我們當然不會傻傻的去挨個調(diào)整,使用SQL語句幾分鐘就搞定,而且還不出錯。
Excel連接字符串使用 and符號(&),常量使用 雙引號(”),有這些只是就可以開工了。
根據(jù)規(guī)則,在后邊的單元格中輸入公式。比如: =”update 表名 set 字段1='” & B2 & “‘,字段2='” & B2*1 & “‘ where 字段三='” & B3 & “‘”
如圖,每個選擇的單元格 還會自動高亮,非常人性化。
測試單個 腳本無誤后,直接拉下來,到查詢分析器里 執(zhí)行,你就會發(fā)現(xiàn),世界原來如此美好:)。
下面是brusss同學分享的
excel批量生成SQL語句操作
根據(jù)用戶提供的excel表格,根據(jù)其中某些列對excel中關(guān)聯(lián)的數(shù)據(jù)進行數(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單元格 :
輸入完畢,點擊如上截圖的 按鈕 ,鼠標移動到K2,右下角 ,出現(xiàn) “”+“”時雙擊書記左鍵 ,或者向下拖到至excel最后一行數(shù)據(jù)處,即可生成所有SQL, L列同樣如此 ,輸入時所有標點或者單雙引號必須為英文符號 。
該文章只是工作中自己學習筆記,僅供參考
相關(guān)文章
陽歷/農(nóng)歷轉(zhuǎn)換對照表怎么做? Excel制作日歷表/萬年歷的最終版
想要制作陽歷/農(nóng)歷轉(zhuǎn)換對照表,,通過這個對照表,你只需知道陽歷日期,就可以快速準確的找到對應的農(nóng)歷日期,下面我們就來看看詳細制作方法2025-04-10- 工作上需要制作一個日歷表/萬年歷,該怎么制作呢?我們需要使用三個excel函數(shù)來實現(xiàn),詳細請看下文介紹2025-04-10
這個函數(shù)公式簡直太強了! excel按權(quán)重求和計算的技巧
Excel中有一個功能非常強大的函數(shù),它就是SUMPRODUCT函數(shù),既能求和、計數(shù)、權(quán)重計算,還能排名等,今天我們就來看看Excel根據(jù)權(quán)重求和的技巧2025-04-10tocol函數(shù)哪個版本能用? excel中tocol函數(shù)的兩種高級用法
TOCOL函數(shù)公式非常強大,值得一學,從字面意義可以理解出來,它是將數(shù)據(jù)轉(zhuǎn)換成一列的,今天分享TOCOL函數(shù)的2種高級用法2025-04-10Excel隱藏行和折疊行有什么不同? 隱藏行和折疊使用方法和區(qū)別介紹
excel表格進行操作的時候,發(fā)現(xiàn)有隱藏和和折疊行,看上去效果一樣,都隱藏了,但是兩者是有很大區(qū)別的,詳細請看下文介紹2025-03-21Excel工齡計算不再愁! Excel隱藏函數(shù)DATEDIF輕松計算精確到天級的工齡
在日常工作中,我們經(jīng)常需要計算員工的工齡,以便進行人事管理、薪資調(diào)整等工作,本文將詳細介紹如何在Excel表格中計算工齡,并提供多種實用方法供您選擇2025-03-13- Excel數(shù)據(jù)處理遇到的問題,99%都是由于奇葩的數(shù)據(jù)格式造成的,今天跟大家整理了幾個Excel表格構(gòu)建的規(guī)則,先不要問為什么,照著做就對了2025-03-06
Excel透視表1月到12月不能排序怎么辦? 數(shù)據(jù)透視表日期無法排序解決方法
如圖對數(shù)據(jù)透視表日期進行升序排序后,仍不是我們想要的結(jié)果,有可能月份是文本,不能排列,下面我們就來看看詳細解決辦法2025-03-06- 首先咱們得明確一下賬齡的概念,簡單來說,賬齡就是某個賬戶的余額從產(chǎn)生到現(xiàn)在的時間長度,比如,一年以內(nèi)的賬齡就是那些在過去一年內(nèi)產(chǎn)生的債權(quán)或債務,下面我們就來看看2025-03-06
實現(xiàn)辦公自動化! DeepSeek搭配Excel制作自定義按鈕的技巧
DeepSeek生成想要的代碼很方便,如果將生成的代碼放到excel中作為vba代碼使用,豈不是能實現(xiàn)辦公自動化?下面我們就來看看實現(xiàn)方法2025-03-05