2018年1月8日 星期一

EXCEL-Microsoft Query 工具簡介和操作

EXCEL-Microsoft Query 工具簡介和操作
說明:
本篇文件是基於TibaMe SQL 保證班的內容為基礎再沿伸出去的,所以範例
是沿用課堂中的範例資料庫「class」作操作。整份文件的大網流程如下圖。



範例資料準備
確認資料庫服務有在運作

執行xampp的MySQL元件,確認資料庫管理系統有在運作並能正常服務

連線資料庫




由於我們要使用class資料庫裡面的資料作範例操作,因此在Windows作業系統中
使用HeidiSQL來連線操作class資料庫。

將資料表匯出成CSV檔
打開class資料庫中的customers資料表,按下圖選取「資料」頁籤顯示資料庫的資料。
在任意空白處按滑鼠右鍵,打開選單選取「匯出網格的行」來將資料表的資料匯出。

上圖是完整的連續操作,可按下圖的順序一步一步操作

打開class資料庫的customers資料表
打開customers資料表後,在右方的工作窗格中選取「資料」頁籤來顯示customers資料表
的所有資料紀錄。然後在任意空白處按「滑鼠右鍵」打開「工作選單」


在「工作選單」中選取「匯出網格的行」來將所有資料紀錄匯出。緊接著會打開
「匯出網格的行」的設定視窗,這個設定視窗是用來設定匯出資料的型式,請參考下圖和
下列步驟來設置:
  1. 點選「檔案」,並於右方輸入檔案的檔案位置(編碼按預設選 ANSI 即可)
  2. 輸出格式點選「Excel CSV」。因我們最後是要把資料存放在 Excel 檔案中,並
    EXCEL 裡的 Microsoft Query 工具,所以務必要點選「Excel CSV
  3. 匯出「所有行」。
  4. 確定有勾選「包含欄位名」
  5. 以上都確定了之後,點擊「確定」按鈕

操作完後,打開customers.csv檔案會看到如下圖的結果。
有3個欄位CustomerID、FirstName、LastName,並有4筆紀錄。

資料表集合在同一個EXCEL
orders和refunds資料表也是作同樣方式的操作。最後把這3個資料表放在同一個檔案,
並存成EXCEL的檔案格式。如下圖。
MQ.xlsx這個Excel檔案裡有3個資料表,分別是customers、orders和refunds。

Microsoft Query (MQ) 操作
Microsoft Query是微軟開發出來用於資料庫查詢的圖型介面程式工具。在Microsoft的Access和
Excel都有這個工具可以使用。它可以從其它的資料來源(例如Oracle的資料庫或ODBC的資料來源等)
查詢檢索出一批資料然後匯入到Excel檔案中,此外也可將Excel檔案的資料來源而對其執行SQL語句
來作資料的操作。以下就開始簡單的介紹如何在Excel中使用Microsoft Query工具 (下文皆簡稱MQ)。

打開MQ介面
打開先前製作好的Excel檔案「MQ.xlsx」,該檔案應該有3個資料表 (customers、orders、refunds )
在其中。
MQ.xlsx檔案打開來後,依序「資料/從其他來源/從Microsoft Query」開啟MQ工具,首先會先要求
「選擇資料來源」。如一開始我們介紹MQ時的說明,MQ可以連接其它資料庫作為其資料來源,
Excel檔案中的資料亦然,所以在「選擇資料來源」的視窗中,我們依序在「資料庫」的頁籤上
「資料庫/Excel files/確定」來決定使用Excel檔案中的內容來作為MQ的資料來源。
注意:在這個視窗中記得取消「使用查詢精靈」的勾選(因為它太囉嗦了反而雜亂,
還不如我們自己操作來的簡單)。

因為前一步已決定用Excel的檔案來作為資料來源,所以緊接著就是選擇存放資料的
Excel檔案。所以按照邏輯順序應是:1) 確定案類型為所有版本的Excel檔案
(因副檔案有*.xls和*.xlsx);2) 確定檔案所在的磁碟機位置;3) 選擇檔案所在的目錄置;
4) 選擇檔案的名稱;5) 好了之後按「確定」按鈕。

上一步選擇正確的Excel 檔案後,MQ就是打開Excel檔案而看到裡面的資料表
並要你選擇「資料表」,在此我們選擇關閉,讓MQ工具對我們的Excel檔案(MQ.xlsx)
不作任何操作,僅僅打開MQ的操作介面而已。

打開了MQ工具介面後,接著我們就可以透過MQ工具來與Excel 檔案內的資料互動,
包括新增、修改、刪除、查詢。

檢索(查詢)資料
選擇資料表
接續先前的操作,我們此時已讓MQ工具打開了一個Excel檔案(本例是MQ.xlsx)。
而因為MQ.xlsx檔案中有3個先前從MySQL匯出的資料表,分別是customers、orders和
refunds,所以我們可以透過MQ工具來操作這些資料表。操作方式如下圖:
在MQ介面上,點擊「工具列上」的「新增表格」按鈕(),打開「新增表格」選擇視窗,
選擇一個資料表然後按「新增」(一旦選擇好資料表,按新增,資料表立即會出現在畫面上
(如上圖藍色箭頭)。選擇好資料表後,接著按關閉就會回到MQ工具介面。

選擇欄位
上一步選擇好資料表,而資料表裡有多個欄位。所以我們接著要選擇要顯示資料的欄位。
如下面第1張圖,我們可以選擇「*」號表示所有欄位,此時下方紅色框框處的「結果窗格」
就會顯示對應結果的資料。同樣的,也可點選任意的欄位加入到結果窗格(如下圖2)

所以我們可以在前一步選擇出的資料表,任意挑選欄位組成下方結果窗格的資料組合。
重複選取欄位也可以。

刪除欄位
除了挑選所需的欄位加到結果窗格來顯示之外,當然也能將欄位從結果窗格中移除。
如下圖。
C:\Users\southwind\AppData\Local\Temp\SNAGHTML110bcfdd.PNG
在要刪除的欄位的欄位名稱上按一下滑鼠左鍵來選取該欄位,接著按下鍵盤的
「DELETE」按鍵,將FullName欄位刪除掉。

SQL語句操作
MQ工具除了提供圖形化的方式來操作資料表外,也可透過原生的SQL語句來操作資料。

查詢檢索資料
在MQ工具介面的工具列上,點擊「SQL」語句按鈕(),可打開SQL語句的視窗。
MQ工具預設是用SQL標準語句來連接資料來源,所以打開來時所看到MQ工具所
自動生成的SQL語句看起來很複雜(第2張圖看的比較清楚),但因我們是以Excel檔案
當作我們的資料來源,所以我們可以改寫SQL語句的內容,如同我們之前課堂上所介紹的,
資料表用「[customers$]」的型式來描述。改寫成「SELECT * FROM [customers$]」,
如下圖所示。
C:\Users\southwind\AppData\Local\Temp\SNAGHTML114d1565.PNG

上一步重新改寫SELECT的查詢子句,然後按「確定」執行後,MQ工具就會執行SQL語句,
所以結果窗口也就可以看到MQ.xlsx的customers資料表相同的內容(如下圖)

插入資料
同樣的方式,我們在輸入SQL語句的編輯視窗,輸入INERT語句
INSERT INTO [customers$] VALUES (10,’南風’,’吹雪’)」,該語句會在cusomers資料表中
新增一筆資料。


點擊「確定」按鈕,MQ工具就會執行INSERT INTO的SQL語句,此時可看到在MQ.xlsx
的customers資料表立即多出一筆新的紀錄,與我們要新增的內容相同,而同一時間
MQ工具介面也會跳出一提醒視窗,說明SQL語句已順利執行,影響一列的紀錄(就是
剛新增出來的那一列)

更新修改資料
我們在SQL語句的編輯視窗中除了可以輸入SELECT查詢語句、INSERT INTO新增紀錄語句,
也可以輸入UPDATE修改更新資料的語句。仿照上一步,我們在SQL語句的編輯視窗,輸入
「UPDATE [customers$] SET FirstName=’北風’ where CoustomerID=10」,該語句會將前一步
新增的紀錄(CustomerID=10)其中FirstName欄位的值修改為「北風」。


---結束---

沒有留言 :