SQLServer導(dǎo)出數(shù)據(jù)到MySQL實(shí)例介紹
執(zhí)行BCP:
bcp "..." queryout "F:\test.txt" -c –S1.2.3.4 -Usa -P1111
命令參數(shù)含義:
(1) 導(dǎo)入。
這個(gè)動(dòng)作使用in命令完成,后面跟需要導(dǎo)入的文件名。
(2) 導(dǎo)出。
這個(gè)動(dòng)作使用out命令完成,后面跟需要導(dǎo)出的文件名。
(3) 使用SQL語(yǔ)句導(dǎo)出。
這個(gè)動(dòng)作使用queryout命令完成,它跟out類似,只是數(shù)據(jù)源不是表或視圖名,而是SQL語(yǔ)句。
(4) 導(dǎo)出格式文件。
這個(gè)動(dòng)作使用format命令完成,后而跟格式文件名。
下面介紹一些常用的選項(xiàng):
-f format_file
format_file表示格式文件名。這個(gè)選項(xiàng)依賴于上述的動(dòng)作,如果使用的是in或out,format_file表示已經(jīng)存在的格式文件,如果使用的是format則表示是要生成的格式文件。
-x
這個(gè)選項(xiàng)要和-f format_file配合使用,以便生成xml格式的格式文件。
-F first_row
指定從被導(dǎo)出表的哪一行導(dǎo)出,或從被導(dǎo)入文件的哪一行導(dǎo)入。
-L last_row
指定被導(dǎo)出表要導(dǎo)到哪一行結(jié)束,或從被導(dǎo)入文件導(dǎo)數(shù)據(jù)時(shí),導(dǎo)到哪一行結(jié)束。
-c
使用char類型做為存儲(chǔ)類型,沒有前綴且以"/t"做為字段分割符,以"/n"做為行分割符。
-w
和-c類似,只是當(dāng)使用Unicode字符集拷貝數(shù)據(jù)時(shí)使用,且以nchar做為存儲(chǔ)類型。
-t field_term
指定字符分割符,默認(rèn)是"/t"。
-r row_term
指定行分割符,默認(rèn)是"/n"。
-S server_name[ /instance_name]
指定要連接的SQL Server服務(wù)器的實(shí)例,如果未指定此選項(xiàng),BCP連接本機(jī)的SQL Server默認(rèn)實(shí)例。如果要連接某臺(tái)機(jī)器上的默認(rèn)實(shí)例,只需要指定機(jī)器名即可。
-U login_id
指定連接SQL Sever的用戶名。
-P password
指定連接SQL Server的用戶名密碼。
-T
指定BCP使用信任連接登錄SQL Server。如果未指定-T,必須指定-U和-P。
-k
指定空列使用null值插入,而不是這列的默認(rèn)值。
2導(dǎo)入數(shù)據(jù)到MySQL
執(zhí)行Load Data命令:
load data local infile "F:/test.txt" into table table1character set gbk;
命令參數(shù)含義:
load data [low_priority] [local] infile 'file_name txt' [replace |ignore]
into table tbl_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name, )]
2.1 Low_priority
如果你指定關(guān)鍵詞low_priority,那么MySQL將會(huì)等到?jīng)]有其他人讀這個(gè)表的時(shí)候,才把插入數(shù)據(jù)。
2.2 Local
如果指定local關(guān)鍵詞,則表明從客戶主機(jī)讀文件。如果local沒指定,文件必須位于服務(wù)器上。
2.3 Replace & Ignore
replace和ignore關(guān)鍵詞控制對(duì)現(xiàn)有的唯一鍵記錄的重復(fù)的處理。如果你指定replace,新行將代替有相同的唯一鍵值的現(xiàn)有行。如果你指定ignore,跳過(guò)有唯一鍵的現(xiàn)有行的重復(fù)行的輸入。如果你不指定任何一個(gè)選項(xiàng),當(dāng)找到重復(fù)鍵時(shí),出現(xiàn)一個(gè)錯(cuò)誤,并且文本文件的余下部分被忽略。
2.4分隔符
terminated by描述字段的分隔符,默認(rèn)情況下是tab字符(\t)
enclosed by描述的是字段的括起字符。
escaped by描述的轉(zhuǎn)義字符。默認(rèn)的是反斜杠(backslash:\)
lines 關(guān)鍵字指定了每條記錄的分隔符默認(rèn)為'\n'即為換行符
2.5導(dǎo)入部分列
load data infile可以按指定的列把文件導(dǎo)入到數(shù)據(jù)庫(kù)中。當(dāng)我們要把數(shù)據(jù)的一部分內(nèi)容導(dǎo)入的時(shí)候,,需要加入一些欄目(列/字段/field)到MySQL數(shù)據(jù)庫(kù)中,以適應(yīng)一些額外的需要。比方說(shuō),我們要從Access數(shù)據(jù)庫(kù)升級(jí)到MySQL數(shù)據(jù)庫(kù)的時(shí)候
下面的例子顯示了如何向指定的欄目(field)中導(dǎo)入數(shù)據(jù):
load data infile "/home/Ordertxt" into table Orders(Order_Number, Order_Date, Customer_ID);
2.6相對(duì)&絕對(duì)路徑
(1)如果給出一個(gè)絕對(duì)路徑名,服務(wù)器使用該路徑名。
(2)如果給出一個(gè)有一個(gè)或多個(gè)前置部件的相對(duì)路徑名,服務(wù)器相對(duì)服務(wù)器的數(shù)據(jù)目錄搜索文件。
(3)如果給出一個(gè)沒有前置部件的一個(gè)文件名,服務(wù)器在當(dāng)前數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)目錄尋找文件。
例如: /myfile txt”給出的文件是從服務(wù)器的數(shù)據(jù)目錄讀取,而作為“myfile txt”給出的一個(gè)文件是從當(dāng)前數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)目錄下讀取。
2.7字符集
character set gbk指定字符集為gbk,與文件的編碼格式(ANSI)保持一致。否則中文數(shù)據(jù)導(dǎo)入后可能變?yōu)閬y碼。
2.8靈活導(dǎo)入
可以在導(dǎo)入的同時(shí),插入一些其他列:
load data local infile "F:/test.txt"into table table1 set pin='zs',create_date=current_timestamp;
3常見問(wèn)題
3.1無(wú)法運(yùn)行Load Data命令
執(zhí)行l(wèi)oad data localinfile時(shí)報(bào)錯(cuò):
The used command is not allowed with this MySQL version
解決方法是:?jiǎn)?dòng)mysql客戶端是加上--local-infile=1參數(shù)
$ mysql --local-infile=1 –uroot –p123 –h 127.0.0.1
3.2用BCP導(dǎo)出UTF-8格式
解決方法是加上-C選項(xiàng):
$ bcp "query sql…" queryout "F:\test.txt" -c -C65001–S1.2.3.4 -Usa -P1111
mysql導(dǎo)入數(shù)據(jù)load data infile用法
- 圖文教程mssqlserver數(shù)據(jù)庫(kù)導(dǎo)出到另外一個(gè)數(shù)據(jù)庫(kù)的方法
- SQLServer導(dǎo)出sql文件/表架構(gòu)和數(shù)據(jù)操作步驟
- sqlserver bcp(數(shù)據(jù)導(dǎo)入導(dǎo)出工具)一般用法與命令詳解
- sqlserver 導(dǎo)出插入腳本代碼
- SQLServer 數(shù)據(jù)導(dǎo)入導(dǎo)出的幾種方法小結(jié)
- SQLserver 2008將數(shù)據(jù)導(dǎo)出到Sql腳本文件的方法
- 使用Navicat Premium將SQLServer數(shù)據(jù)導(dǎo)出為sql格式
相關(guān)文章
sqlserver連接錯(cuò)誤之SQL評(píng)估期已過(guò)的問(wèn)題解決
很久沒用sqlserver了,現(xiàn)在出現(xiàn)評(píng)估期已過(guò)的問(wèn)題,本文就介紹一下sqlserver連接錯(cuò)誤之SQL評(píng)估期已過(guò)的問(wèn)題解決,文中根據(jù)圖文詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記
sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記,學(xué)習(xí)sqlserver的朋友可以參考下。2011-11-11通過(guò)分析SQL語(yǔ)句的執(zhí)行計(jì)劃優(yōu)化SQL
基于代價(jià)的優(yōu)化器是很聰明的,在絕大多數(shù)情況下它會(huì)選擇正確的優(yōu)化器,減輕了DBA的負(fù)擔(dān)。但有時(shí)它也聰明反被聰明誤,選擇了很差的執(zhí)行計(jì)劃,使某個(gè)語(yǔ)句的執(zhí)行變得奇慢無(wú)比2011-10-10SQL Server中執(zhí)行動(dòng)態(tài)SQL
本文詳細(xì)講解了SQL Server中執(zhí)行動(dòng)態(tài)SQL的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05解析關(guān)于SQL語(yǔ)句Count的一點(diǎn)細(xì)節(jié)
本篇文章是對(duì)關(guān)于SQL語(yǔ)句Count的一點(diǎn)細(xì)節(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06基于B-樹和B+樹的使用:數(shù)據(jù)搜索和數(shù)據(jù)庫(kù)索引的詳細(xì)介紹
本篇文章介紹了,基于B-樹和B+樹的使用:數(shù)據(jù)搜索和數(shù)據(jù)庫(kù)索引的詳細(xì)分析。需要的朋友參考下2013-04-04判斷一個(gè)表的數(shù)據(jù)不在另一個(gè)表中最優(yōu)秀方法
判斷一個(gè)表的數(shù)據(jù)不在另一個(gè)表中最優(yōu)秀方法2009-11-11SQL Server中row_number分頁(yè)查詢的用法詳解
這篇文章主要介紹了SQL Server中row_number的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07sql將一個(gè)表中的數(shù)據(jù)插入到另一個(gè)表中的方法
這篇文章主要介紹了sql將一個(gè)表中的數(shù)據(jù)插入到另一個(gè)表中的方法,需要的朋友可以參考下2014-03-03