国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SQL Server:把CSV文件導入到SQL Server表中_數(shù)據(jù)庫子站_技巧_IT專...
userphoto

2010.04.27

關注

SQL Server:把CSV文件導入到SQL Server表中

作者: ddvip,  出處:IT專家網(wǎng)論壇, 責任編輯: 陳子琪, 
2010-03-24 13:00
  有時候我們可能會把CSV中的數(shù)據(jù)導入到某個數(shù)據(jù)庫的表中,比如做報表分析的時候。

  有時候我們可能會把CSV中的數(shù)據(jù)導入到某個數(shù)據(jù)庫的表中,比如做報表分析的時候。

  對于這個問題,我想一點也難不倒程序人員吧!但是要是SQL Server能夠完成這個任務,豈不是更好!

  對,SQL Server確實有這個功能。

  首先先讓我們看一下CSV文件,該文件保存在我的D:盤下,名為csv.txt,內容是:

  

  現(xiàn)在就是SQL Server的關鍵部分了;

  我們使用的是SQL Server的BULK INSERT命令,關于該命令的詳細解釋,請點擊此處;

  我們先在SQL Server中建立用于保存該信息的一張數(shù)據(jù)表,


  CREATE TABLE CSVTable(
  Name NVARCHAR(MAX),
  Email NVARCHAR(MAX),
  Area NVARCHAR(MAX)
  )

  然后執(zhí)行下面的語句:


  BULK INSERT CSVTable
  FROM 'D:\csv.txt'
  WITH(
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
  )
  SELECT * FROM CSVTable

  按F5,執(zhí)行結果如下:

  其中有的列就包含雙引號了,這應該不是我們想要的結果,要解決這個問題,我們只能利用臨時表了,先把CSV導入到臨時表中,然后在從這個臨時表中導入到最終表的過程中把雙引號去掉。
 

  2,CSV文件的列值全部是由雙引號組成的:

  

  這個問題要比上一個稍微復雜點,除了要先把CSV文件導入到臨時表中,還必須修改一下在把CSV文件導入到臨時表的代碼:

  

  注意圈中的部分。

  3,CSV文件的列要多于數(shù)據(jù)表的列:

  

  而我們的數(shù)據(jù)表只有三列,如果在執(zhí)行上面的導入代碼,會產生什么結果呢?

  結果就是:

  

  它把后邊的全部放在了Area列中了,要處理這個問題,其實也很簡單,就是我們把我們想要的列值在數(shù)據(jù)表中都按順序建立一列,而把不需要的列值,也在數(shù)據(jù)表中建立一個,只不過只是一個臨時列,在把這個數(shù)據(jù)表導入到最終表的時候,忽略這個臨時列就行了。
 
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Sql結果導出為excel文件
導出SQL Server表到DBF文件的存儲過程
BCP導出導入大容量數(shù)據(jù)實踐
SQL Server 2005 的nvarchar(max),令我抓狂的問題解決了!
SQL Server 2005中的分區(qū)表(一):什么是分區(qū)表?為什么要用分區(qū)表?如何創(chuàng)建分...
如何將SQL Server數(shù)據(jù)從表導出到CSV文件
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服