利用Excel 公式產生SQL
主題: |
利用Excel 公式產生SQL |
文章簡介: |
本文利用Excel產生大量的SQL語法,以利節省資料整理的時間。 |
作者: |
田語錡 |
版本/產出日期: |
V1.0/2016.12.16 |
1. 前言
在工作中,會需要建立大量的SQL語法,例如:update、insert、delete。
則本文利用Excel產生大量的SQL語法,以利節省資料整理的時間。
2. 開始前準備
請先準備自己習慣使用的Excel版本,本文件以Excel 2007作範例。
本文章是以SQL Server 當成SQL 語法測試的平台。
3. 範例
利用Excel產生大量的SQL語法
步驟一 首先將要產生SQL指令的資料複製到Excel中。
步驟二 接著在後方新增一個欄位「SQL」
步驟三 組Excel公式,於「SQL」欄位中。
透過「””」將文字及特殊符號包起來,再用「&」串接儲存格。
以及輸入「$」來固定欄位,$A1表示固定A欄固定;A$1表示1列固定;$A$1表示固定A1儲存格 或在該儲存格點選F4進行切換。
例如一: =" "&A1&" + "&A2&" "
測試結果如下:
例如二:=" "&$A$1&" + "&A4&" "
測試結果如下:
備註:一般會用CONCATENATE 函數 來進行字串串接。使用此函數時,如果遇到特殊符號要連接在儲存格前後時,是使用「””」來區隔。
例如:=CONCATENATE("'",A1,"'",",","+",A2)
結果:
由於因為SQL語法本身有很多的特殊符號,所以未選擇使用此函數進行資料的產生。
利用以上符號,組成如下的公式:
Excel公式的Insert語法:
="INSERT 資料表名稱 ("&欄位名稱一&", "&欄位名稱二&", "&欄位名稱三&","&欄位名稱四&","&欄位名稱五&", "&欄位名稱六&") VALUES (N'"&資料內容一&"', N'"&資料內容二&"', N'"&資料內容三&"','"&資料內容四&"', N'"&資料內容五&"','"&資料內容六&"')"
Excel公式的Update語法:
="update 資料表名稱 set "&更新的欄位名稱&" = '"&更新的資料內容&"' where "&欄位名稱一&" = '"&資料內容一&"' and "&欄位名稱二&" = '"&資料內容二&"' "
Excel公式的Delete語法:
="DELETE FROM 資料表名稱 WHERE "&欄位名稱一&" = '"&資料內容一&"' and "&欄位名稱一&" = '"&資料內容二'"
範例:
範例資料表名稱:EX_TABLE
Insert:
="INSERT EX_TABLE ("&$A$1&", "&$B$1&", "&$C$1&","&$D$1&","& $E$1&", "&$F$1&") VALUES (N'"&$A2&"', N'"&$B2&"', N'"&$C2&"','"&$D2&"', N'"&$E2&"','"&$F2&"')"
Update:
="update EX_TABLE set "&$C$1&" = '"&$C3&"' where "&$A$1&" = '"&$A3&"' and "&$B$1&" = '"&$B3&"' "
Delete:
="DELETE FROM EX_TABLE WHERE "&$A$1&" = '"&$A2&"' and "&$B$1&" = '"&$B2&"' "
4. 執行後SQL語法測試結果
執行SQL語法前的資料
執行SQL語法結果
執行後,查詢結果
5. 參考來源
• Excel的進階應用,牢記「””」及「&」,文字串接免函數http://www.techbang.com/posts/13027-excel-in-mind