1. 程式人生 > >如何把EXCEL資料匯入到SQL SERVER資料庫中

如何把EXCEL資料匯入到SQL SERVER資料庫中

在我們完成一個專案開發之後,通常我們需要把客戶的很多資料匯入到資料庫中,面對大量的資料匯入工作,人工匯入肯定是不現實,但是這些又是不得不完成的工作,怎麼辦呢?我們可以利用資料庫管理工具提供的資料匯入的功能即可。我們這裡以SQL SERVE2008為例。SQLSERVER2008有一個“資料匯入匯出功能”,當然我們也可以開啟資料庫之後,在資料庫上點選右鍵,然後選擇“任務”,選擇“匯入資料”,我們就看到彈出淡入資料的對話方塊:


這裡我們主要匯入資料的源格式是EXCEL的,在excel檔案中,我們通常需要整理成資料表格的形式,excel中的資料不要出現合併的單元格等,必須是和資料庫表對應的一條條記錄的形式。在上圖中我們先選擇資料來源為excel,然後再選擇excel檔案的路徑,在最下面有一個“首行包含列名稱”的複選項,預設是選中的,也就是說在匯入資料的時候會把excel的第一行當做資料庫表的列名稱,根據需要進行選擇。然後選擇下一步:


上圖中我們主要完成選擇目的資料庫,按照需要選擇即可。然後我們直接點選下一步,指匯出現下面的畫面:


這就會開啟excel檔案的工作薄,我們選擇一個工作簿(sheet),如果我們的excel中的資料列和資料庫表中的列不是對應,則需要進行調整,上圖中先選中一個“源”,然後再選擇這個源對應的“目標”,此時按鈕“編輯對映”處於可用狀態,我們點選這個按鈕,出現下圖:

在上圖中有“刪除目標表中的行”和“向目標表中追加行”的單選選項,他們的意思說的很明白,不解釋(哈哈).在蝦米那的表格中,我們重點關注的是“源”和“目標”列,源指的是excel中的列,這一列通常是不能選擇的,我們主要選擇的是“目標”列,在這一列就是完成excel的一列行資料庫表中的某一個欄位進行對應。按照我們的需要進行對應之後,點選確定,下一步等等,直接到最後一步,中間出現的警告都不用去理會,完成之後,可能出現錯誤提示,這個提示不是很準確的,有時候雖然出錯但是資料仍然匯入到資料庫了,因此我們檢視一下資料庫是否匯入進去,如果沒有匯入進去,我們看看錯誤提示,有可能出現的錯誤時欄位不對應,還有外來鍵關係等等,相應的修改一下即可。

其實上面匯入資料個過程尤其是在最後選擇“源”和“目標”對應的時候,經常會出現欄位的型別不一致的問題,從而導致資料匯入不進去,我們可以先把資料直接匯入資料庫中,生產一個新的資料表,然後在資料庫的控制檯,利用insert 語句完成資料的匯入。

有時候使用者的需求發生變化,資料庫表的欄位增加了,此時資料量有又大的情況下,我們也不會手動輸入資料的,直接匯入資料的可能改變我們資料庫原有的資料,尤其是資料庫表存在主鍵欄位(通常都有的),這個欄位還是自增的,同時這個主鍵欄位還是其他表的外來鍵欄位,那麼直接匯入就會造成外來鍵欄位的值也要進行對應的修改,總的來說就是工作量很大,很複雜。我們怎麼能夠在不破壞原有的資料情況下,同時又給新增加的欄位匯入資料呢?

我們先對應的資料庫表匯出為excel檔案。在控制檯輸入“select * from ####”,然後在輸出部分,點選右鍵選擇將“標題和資料一塊複製”,然後選擇另存為,儲存為“*.csv”格式的,再用excel開啟。

開啟excel之後,給excel表新增相應的欄位,儲存之後,重新匯入到資料庫中,但是此時我們匯入資料庫時目標資料庫表的選擇不是已經存在的資料庫,我們這裡不選擇,按照預設的設定即可。一路“下一步”就完成匯入工作,在資料庫中我們將會發現一個自動生成的表,“sheet1”等類似的名稱。

然後在控制檯利用update語句完成資料的匯入或更新:

update A set x1=B.x1,x2=B.x2 from A,B where A.id=B.id 

在實際的專案中,我們根據需要進行選擇,最重要的工作還是在excel中資料的整理,我們可以利用excel提供的各種快捷方法整理,避免我們手工進行大量重複複雜的工作。

(結束)

相關推薦

VB .NETExcel資料匯入SQL SERVER資料庫

其實不算原創,論壇裡有人發的,我正好專案寫到這裡,缺的語句較多,無法執行,我補充了一下,可以簡單的運行了,測試了一下,速度還不錯。 VS2015可用,自己新增窗體和控制元件吧,只需要一個OpenFileDialog和Button,預設檔案中帶有欄位名。 Public Cla

使用C#將Excel檔案資料匯入SQL Server資料庫

由於專案中加入了新的功能,可以使管理員向資料庫中匯入Excel資料。因此,在商品管理這塊需要對Excel進行操作,在網上查了些資料,根據專案的實際情況進行了一定的優化,這裡簡單的介紹下。 C#程式碼 /// <summary> /// 上傳Excel檔案,並將資

如何數萬行的Excel資料匯入到Oracle資料庫

我們知道,當處理小批量的資料時,Excel還是挺方便的。但當資料量有數萬,數十萬時,Oracle資料庫就顯現出其優勢來了。那麼,如何把數萬條資料的Excel格式檔案匯入到Oracle中呢?下面我們含有

EXCEL資料匯入到Oracle資料庫

在做專案的同時,新系統需要匯入大量的資料,除了庫對庫的方式以外,在有些時候可能使用者也會提供一些EXCEL表格資料,需要手動匯入到系統中,EXCEL的資料可能少則幾條,多則上千條。有以下幾種方法: 1,通過PLSQL手動複製貼上到ORACLE資料表中; 2,使用EXC

極限挑戰—C#100萬條資料匯入SQL SERVER資料庫僅用4秒

  實際工作中有時候需要把大量資料匯入資料庫,然後用於各種程式計算,本實驗將使用5中方法完成這個過程,並詳細記錄各種方法所耗費的時間。     本實驗中所用到工具為VS2008和SQL SERVER 2000、SQL SERVER 2008,分別使用5中方法將100萬條資料匯

如何EXCEL資料匯入SQL SERVER資料庫

在我們完成一個專案開發之後,通常我們需要把客戶的很多資料匯入到資料庫中,面對大量的資料匯入工作,人工匯入肯定是不現實,但是這些又是不得不完成的工作,怎麼辦呢?我們可以利用資料庫管理工具提供的資料匯入的功能即可。我們這裡以SQL SERVE2008為例。SQLSERVER2

將word文件資料匯入sql server資料庫

我現在的需求是這樣的,需要將這些題目插入到sql server資料庫中。 並且要對應起來,一開始在網上找了很多方法,都沒有找到合適的。 後面感覺,還是自己寫一個比較好,因為只有自己寫的,才是最適合你的! 於是就開始倒騰。 1、首先是讀取word中的資料,在我上

excel匯入sql server資料庫

遇到的問題,標題: SQL Server 匯入和匯出嚮導 ------------------------------ 操作無法完成。 ------------------------------ 其他資訊: ConnectionString 屬性尚未初始化。 (System.Data) -----

使用PL/SQLDeveloperexcel資料匯入資料庫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

用Java向SQL Server資料庫插入float資料報錯An error occurred while converting the Float value to JDBC data type

作者:翁鬆秀 用Java向SQL Server資料庫中插入float資料報錯 用Java向SQL Server資料庫中插入float資料報錯

C#同步SQL Server資料庫資料資料庫同步工具[同步新資料]

C#同步SQL Server資料庫中的資料1. 先寫個sql處理類:using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Text; namespace

SQL Server資料庫資料資料庫同步工具[同步新資料]

C#同步SQL Server資料庫中的資料1. 先寫個sql處理類:using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Text; namespace

Access 資料匯入sql server

exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure  SELECT * INTO newta

Excel資料匯入到oracle資料庫

對於資料庫中的一張表,進行資料的批量新增,有幾種方法? 第一種:寫拼接sql. 第二種:程式讀取呼叫資料庫插入. 第三種:儲存過程. 第四種:一個個sql新增. 第五種:使用plsql客戶端進行新增. 第N種…… 那麼這裡介紹的就是使用plsql進

Excel資料匯入到MySQL

開啟Excel,處理好你需要的列,把不需要的列都刪掉。把標題行也刪掉,只保留資料。 另存為CSV檔案。 特別注意一點:如果你的MySQL預設編碼方式是UTF-8的話需要用Editplus等軟體把CSV檔案另存為UTF-8編碼格式,因為Excel預設編碼格式是AN

將ACCESS資料庫資料轉到SQL server資料庫(通用)

把ACCESS資料庫轉換成SQL server資料庫,ACCESSH和SQL server都有很多不同的版本,但是轉換也都大同小易,和這裡我給大家說說最常見的怎麼將ACCESS轉化成SQL server的方法和步驟 1、開啟計算機”控制面板“下的”管理工具“中的”資料庫源“

如何所ACCESS資料庫資料新增到SQL SERVER資料庫?

前提條件:1.假設Access連線字 符串為:string m_accConnection = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=/somepath/mydb.mdb;User Id=admin;Password=;" 遠端sql server伺服器的連

jxlsexcel資料匯入資料庫

@RequestMapping(value = "do", method = RequestMethod.GET) public void do() throws IOException {

excel資料匯入到mysql資料庫

框架用的是thinkphp3.2框架 //將Excel匯入到資料庫的思想是:先將Excel中的資料轉為php陣列,然後執行addAll操作 public function upload() { ini_set('memory_limit', '1024M'); if (!empty(

MySQL資料匯入sql檔案過程出錯

錯誤型別: ERROR 1231 (42000): Variable 'time_zone' can't be set to the value of 'NULL' ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of '