2.5.2 獲取CSV文件
下面介紹幾種主流關(guān)系數(shù)據(jù)庫導出CSV文件的方法。
2.5.2.1 SQL Server導出CSV文件
打開一個查詢窗口,輸入SQL語句查詢出需要導出的數(shù)據(jù)列表,如圖2-91所示。

圖2-91 SQL查詢結(jié)果
在查詢的結(jié)果欄目中,復制所有查詢出來的數(shù)據(jù)。右擊,在彈出的快捷菜單中選擇“將結(jié)果另存為”命令,如圖2-92所示。

圖2-92 將查詢結(jié)果另存為
這里可以選擇保存為CSV文件或txt文件,我們選擇CSV文件,如圖2-93所示,可以用Excel打開CSV文件來查看CSV文件的內(nèi)容。

圖2-93 保存CSV文件
2.5.2.2 MySQL導出CSV文件
MySQL支持將查詢結(jié)果直接導出為CSV文本格式,在使用select語句查詢數(shù)據(jù)時,在語句后面加上導出指令即可,格式如下:
● into outfile <導出的目錄和文件名>:指定導出的目錄和文件名。
● fields terminated by <字段間分隔符>:定義字段間的分隔符。
● optionally enclosed by <字段包圍符>:定義包圍字段的字符(數(shù)值型字段無效)。
● lines terminated by <行間分隔符>:定義每行的分隔符。
以下是一個使用MySQL導出CSV文件的例子。
【程序2-18】MySQL導出CSV文件

這條指令執(zhí)行完后,會把mydatatable表中部分匹配查詢條件的記錄導出到E1.csv文件中。其中每個字段以逗號分隔,字段內(nèi)容是以雙引號包圍的字符串,每條記錄使用\r\n換行,如圖2-94所示。

圖2-94 CSV文件格式
2.5.2.3 Oracle導出CSV文件
可以使用sqlplus導出CSV文件,這是比較方便的一種方式,當然讀者也可以考慮采用其他方式導出。首先創(chuàng)建spool.sql文件,內(nèi)容如程序2-19所示。
【程序2-19】創(chuàng)建spool.sql文件

然后,運行sqlplus命令:

這樣就可以從Oracle將lfc_ bl表中的數(shù)據(jù)導出到E:\lfc_ bl.csv文件了。
對于spool.sql文件的指令詳細解析請參考表2-2。
表2-2 sqlplus命令及含義

2.5.2.4 CSV內(nèi)容格式注意事項
Neo4j對CSV文件的格式是有要求的,因此在討論如何導入CSV之前,我們先列舉一些CSV文件內(nèi)容格式常見的錯誤。讀者可以使用文本編輯器打開自己的CSV文件,查看是否出現(xiàn)這些錯誤。
CSV文件內(nèi)容格式常見錯誤如下:
(1)在CSV文件開始處存在BOM字節(jié)順序標記(2個UTF-8字符),如果存在,則刪除。
(2)文件內(nèi)存在非文本類型的字符,如果存在,則刪除。
(3)存在不規(guī)則換行符,如混合Windows和UNIX換行符,如果存在,則需要確保它們一致,最好選擇UNIX風格。
(4)CSV文件頭與數(shù)據(jù)不一致(內(nèi)容相比頭缺少列或多出列,頭中有不同的分隔符),如果存在此情況,則需要修復頭部。
(5)帶引號和不帶引號的文本字段中出現(xiàn)換行符,如果存在,則需要刪除換行符。
(6)存在雜散的引號,非文本中存在獨立雙引號或單引號,如果存在,則需要轉(zhuǎn)義或刪除雜散引號。
- MySQL數(shù)據(jù)庫進階實戰(zhàn)
- DB29forLinux,UNIX,Windows數(shù)據(jù)庫管理認證指南
- Python數(shù)據(jù)分析:基于Plotly的動態(tài)可視化繪圖
- Ceph源碼分析
- Microsoft Power BI數(shù)據(jù)可視化與數(shù)據(jù)分析
- 大數(shù)據(jù)技術(shù)入門
- 數(shù)據(jù)庫設計與應用(SQL Server 2014)(第二版)
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)(第3版)
- Spark分布式處理實戰(zhàn)
- R Object-oriented Programming
- SQL Server 2012實施與管理實戰(zhàn)指南
- Unreal Engine Virtual Reality Quick Start Guide
- AndEngine for Android Game Development Cookbook
- 數(shù)據(jù)庫原理及應用實驗:基于GaussDB的實現(xiàn)方法
- Hive性能調(diào)優(yōu)實戰(zhàn)