在SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的四種方法_Mssql數(shù)據(jù)庫(kù)教程
推薦:怎樣創(chuàng)建SQL Server 2000故障轉(zhuǎn)移群集在創(chuàng)建SQL Server 2000 故障轉(zhuǎn)移群集之前,必須配置 Microsoft 群集服務(wù) (MSCS) 并使用 Microsoft Windows NT4.0 或 Windows? 2000 中的群集管理員創(chuàng)建至少一個(gè)群集磁盤資源。在運(yùn)行 SQL Server 安裝程序之前,在群集管理員中記下群集驅(qū)動(dòng)器的位置,因?yàn)閯?chuàng)建
在SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的四種方法,在軟件項(xiàng)目實(shí)施的時(shí)候,數(shù)據(jù)導(dǎo)入一直是項(xiàng)目人員比較頭疼的問題。其實(shí),在SQL Server中集成了很多成批導(dǎo)入數(shù)據(jù)的方法。有些項(xiàng)目實(shí)施顧問頭疼的問題,在我們數(shù)據(jù)庫(kù)管理員眼中,是小菜一碟�,F(xiàn)在的重點(diǎn)就是,如何讓用戶了解這些方法,讓數(shù)據(jù)導(dǎo)入變得輕松一些。
第一:使用Select Into語(yǔ)句
若企業(yè)數(shù)據(jù)庫(kù)都采用的是SQL Server數(shù)據(jù)庫(kù)的話,則可以利用Select Into語(yǔ)句來實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入。Select Into語(yǔ)句,他的作用就是把數(shù)據(jù)從另外一個(gè)數(shù)據(jù)庫(kù)中查詢出來,然后加入到某個(gè)用戶指定的表中。
在使用這條語(yǔ)句的時(shí)候,需要注意幾個(gè)方面的內(nèi)容。
一是需要在目的數(shù)據(jù)庫(kù)中先建立相關(guān)的表。如想把進(jìn)銷存系統(tǒng)數(shù)據(jù)庫(kù)(SQLServer)中的產(chǎn)品信息表(Product)導(dǎo)入到ERP系統(tǒng)中的產(chǎn)品信息表(M_Product)中。則前期是在ERP系統(tǒng)的數(shù)據(jù)庫(kù)中已經(jīng)建立了這張產(chǎn)品信息表。
二是這種方法只復(fù)制表中的數(shù)據(jù),而不復(fù)制表中的索引。如在進(jìn)銷存系統(tǒng)數(shù)據(jù)中的產(chǎn)品信息表中,在產(chǎn)品編號(hào)、產(chǎn)品種類等字段上建立了索引。則利用Select Into語(yǔ)句把數(shù)據(jù)復(fù)制到ERP系統(tǒng)的表中的時(shí)候,只是復(fù)制了數(shù)據(jù)內(nèi)容的本身,而不會(huì)復(fù)制索引等信息。
三是這條語(yǔ)句使用具有局限性。一般情況下,這只能夠在SQL Server數(shù)據(jù)庫(kù)中采用。不過,對(duì)于SQL Server不同版本的數(shù)據(jù)庫(kù),如2008或者2003,還都是兼容的。若需要導(dǎo)入的對(duì)象數(shù)據(jù)庫(kù)不是SQL Server的,則需要采用其他的方法。
四是采用這條語(yǔ)句的話,在目的表中必須不存在數(shù)據(jù)。否則的話,目的表中的數(shù)據(jù)會(huì)被清除。也就是說,這個(gè)語(yǔ)句不支持表與表數(shù)據(jù)的合并。在SQL Server中,有一條類似的語(yǔ)句,可以實(shí)現(xiàn)這個(gè)功能。這條語(yǔ)句就是:Insert Into。他的作用就是把另外一張表中的數(shù)據(jù)插入到當(dāng)前表中。若用戶想要的時(shí)表與表數(shù)據(jù)的合并,則可以采用這條語(yǔ)句。兩者不能夠混淆使用,否則的話,很容易導(dǎo)致數(shù)據(jù)的丟失。
五是以上兩條語(yǔ)句都支持兼容的不同類型的數(shù)據(jù)類型。如在原標(biāo)中,某個(gè)字段的數(shù)據(jù)類型是整數(shù)型,但是在目的表中這個(gè)字段的數(shù)據(jù)類型則是浮點(diǎn)型,只要這個(gè)兩個(gè)數(shù)據(jù)類型本來就兼容的,則在導(dǎo)入的時(shí)候,數(shù)據(jù)庫(kù)是允許的。
第二:利用Excel等中間工具進(jìn)行控制
雖然第一種方法操作起來比較簡(jiǎn)單,但是其也有一些缺點(diǎn)。如他只支持同一種類型的數(shù)據(jù)庫(kù);不能夠?qū)?shù)據(jù)進(jìn)行過多的干預(yù)等等。一般情況下,若用戶原數(shù)據(jù)準(zhǔn)確度比較高,不需要過多的修改就可以直接拿來用的話,則筆者就已采用第一種方式。
但是,若在原數(shù)據(jù)庫(kù)中,數(shù)據(jù)的準(zhǔn)確度不是很高,又或者,有很多數(shù)據(jù)是報(bào)廢的�?傊�,需要對(duì)原數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行整理,才能夠使用的情況,筆者不建議先導(dǎo)入進(jìn)去,再進(jìn)行更改。筆者在遇到這種情況時(shí),喜歡利用Excle作為中間工具。也就是說,先把數(shù)據(jù)中原數(shù)據(jù)庫(kù)中導(dǎo)到Excle中。有些數(shù)據(jù)庫(kù),如Oracle數(shù)據(jù)庫(kù),他不支持Excle格式。但是,我們可以把它導(dǎo)為CSV格式的文件。這種文件Excle也可以打得開。
然后,再在Excle中,對(duì)記錄進(jìn)行修改。由于Excle是一個(gè)很強(qiáng)的表格處理軟件,所以,其數(shù)據(jù)修改,要比在數(shù)據(jù)庫(kù)中直接修改來得方便,來得簡(jiǎn)單。如可以利用按時(shí)間排序等功能,把一些長(zhǎng)久不用的記錄清楚掉。也可以利用替換等功能,把一些不規(guī)范的字符更改掉。這些原來在數(shù)據(jù)庫(kù)中比較復(fù)雜的任務(wù),在Excle等工具中都可以輕松的完成。
等到表中的內(nèi)容修改無(wú)誤后,數(shù)據(jù)庫(kù)管理員就可以把Excle表格中的文件直接導(dǎo)入到SQL Server數(shù)據(jù)庫(kù)中。由于SQL Server與Excel是同一個(gè)父母生的,所以,他們之間的兼容性很好。在Sql Server中提供了直接從Excel文件中導(dǎo)入數(shù)據(jù)的工具。
雖然這要借助中間工具導(dǎo)入數(shù)據(jù),但是,因?yàn)槠涮幚砥饋矸奖�、直觀,所以,筆者在大部分時(shí)候都是采用這種方式。
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 總結(jié)經(jīng)典常用的SQL語(yǔ)句(2)
- 解析SQL Server和Oracle常用函數(shù)區(qū)別
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
- 關(guān)于SQL 存儲(chǔ)過程入門基礎(chǔ)(變量)
- 淺談SQL Server數(shù)據(jù)庫(kù)優(yōu)化經(jīng)驗(yàn)總結(jié)
- SQL Server 2008 批量刪除添加內(nèi)容
- 解析配置SQL SERVER合并復(fù)制(二)建立域用戶
- 是什么讓SQL Server加速運(yùn)行
- sql存儲(chǔ)過程的使用和介紹
- 淺談SQL Server數(shù)據(jù)倉(cāng)庫(kù)相關(guān)概念及構(gòu)建流程
猜你也喜歡看這些
- MySQL中優(yōu)化sql語(yǔ)句查詢常用的30種方法
- Mysql的主從數(shù)據(jù)庫(kù)沒有同步的解決辦法
- sql語(yǔ)句:SQLServer字段排序(按筆畫,拼音,拼音首字母)
- mysql 數(shù)據(jù)庫(kù) (基礎(chǔ)) 筆記
- 基于mysql事務(wù)、視圖、存儲(chǔ)過程、觸發(fā)器的應(yīng)用分析
- MySQL 生成隨機(jī)密碼
- mysql占用CPU過高的解決辦法(添加索引)
- mysql登錄遇到ERROR 1045問題解決方法
- 更新text字段時(shí)出現(xiàn)Row size too large報(bào)錯(cuò)應(yīng)付措施
- 深入探討:MySQL數(shù)據(jù)庫(kù)MyISAM與InnoDB存儲(chǔ)引擎的比較
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索在SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的四種方法
- 教程說明:
Mssql數(shù)據(jù)庫(kù)教程-在SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的四種方法
。