MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法
更新時(shí)間:2009年11月26日 18:48:30 作者:
但有時(shí)為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。下面的具體的方法大家可以參考下。多測(cè)試。
MySQL寫(xiě)入數(shù)據(jù)通常用insert語(yǔ)句,如
insert into person values(張三,20),(李四,21),(王五,70)…;
但有時(shí)為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。
一、 建立測(cè)試表,準(zhǔn)備數(shù)據(jù)
首先建立一個(gè)用于測(cè)試的表示學(xué)生信息的表,字段有id、姓名、年齡、城市、薪水。Id和姓名不
能為空。
create table person(
id int not null auto_increment,
name varchar(40) not null,
city varchar(20),
salary int,
primary key(id)
)engine=innodb charset=gb2312;
創(chuàng)建表截圖如下:
接著寫(xiě)一個(gè)用于導(dǎo)入的文本文件:c:\data.txt。
張三 31 北京 3000
李四 25 杭州 4000
王五 45 \N 4500
小明 29 天津 \N
每一項(xiàng)之間用Tab鍵進(jìn)行分隔,如果該字段為NULL,則用\N表示。
二、 導(dǎo)入數(shù)據(jù)
輸入命令,進(jìn)行導(dǎo)入。
load data local infile “c:/data.txt”
into table person(name,age,city,salary);
導(dǎo)入數(shù)據(jù)截圖如下:
其中l(wèi)ocal表示本地。執(zhí)行后,可以看到NULL數(shù)據(jù)也被正確地導(dǎo)入。
三、 導(dǎo)出數(shù)據(jù)
現(xiàn)在將這個(gè)表導(dǎo)出為文本文件:c:\data_out.txt。
select name,age,city,salary
into outfile “c:/data_out.txt”
lines terminated by “\r\n”
from person;
導(dǎo)出數(shù)據(jù)截圖如下:
其中l(wèi)ines terminated by “\r\n”表示每一行(即每一條記錄)用\r\n分隔,\r\n是window系
統(tǒng)的換行符。導(dǎo)出的data_out.txt與data.txt的內(nèi)容完全一樣。
四、 運(yùn)行環(huán)境
Windows vista home basic
MySQL 5.1.34-community
五、 注意
字段之間的分隔和記錄(行)之間的分隔默認(rèn)是\t(即Tab)和\n。但可以改變,如:
FIELDS TERMINATED BY ',' --字段用,進(jìn)行分隔
LINES TERMINATED BY ';' --記錄用; 進(jìn)行分隔
另外要注意其它操作系統(tǒng)的換行符與windows可能不相同。
復(fù)制代碼 代碼如下:
insert into person values(張三,20),(李四,21),(王五,70)…;
但有時(shí)為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。
一、 建立測(cè)試表,準(zhǔn)備數(shù)據(jù)
首先建立一個(gè)用于測(cè)試的表示學(xué)生信息的表,字段有id、姓名、年齡、城市、薪水。Id和姓名不
能為空。
復(fù)制代碼 代碼如下:
create table person(
id int not null auto_increment,
name varchar(40) not null,
city varchar(20),
salary int,
primary key(id)
)engine=innodb charset=gb2312;
創(chuàng)建表截圖如下:

接著寫(xiě)一個(gè)用于導(dǎo)入的文本文件:c:\data.txt。
張三 31 北京 3000
李四 25 杭州 4000
王五 45 \N 4500
小明 29 天津 \N

每一項(xiàng)之間用Tab鍵進(jìn)行分隔,如果該字段為NULL,則用\N表示。
二、 導(dǎo)入數(shù)據(jù)
輸入命令,進(jìn)行導(dǎo)入。
load data local infile “c:/data.txt”
into table person(name,age,city,salary);
導(dǎo)入數(shù)據(jù)截圖如下:

其中l(wèi)ocal表示本地。執(zhí)行后,可以看到NULL數(shù)據(jù)也被正確地導(dǎo)入。
三、 導(dǎo)出數(shù)據(jù)
現(xiàn)在將這個(gè)表導(dǎo)出為文本文件:c:\data_out.txt。
復(fù)制代碼 代碼如下:
select name,age,city,salary
into outfile “c:/data_out.txt”
lines terminated by “\r\n”
from person;
導(dǎo)出數(shù)據(jù)截圖如下:

其中l(wèi)ines terminated by “\r\n”表示每一行(即每一條記錄)用\r\n分隔,\r\n是window系
統(tǒng)的換行符。導(dǎo)出的data_out.txt與data.txt的內(nèi)容完全一樣。
四、 運(yùn)行環(huán)境
Windows vista home basic
MySQL 5.1.34-community
五、 注意
字段之間的分隔和記錄(行)之間的分隔默認(rèn)是\t(即Tab)和\n。但可以改變,如:
FIELDS TERMINATED BY ',' --字段用,進(jìn)行分隔
LINES TERMINATED BY ';' --記錄用; 進(jìn)行分隔
另外要注意其它操作系統(tǒng)的換行符與windows可能不相同。
您可能感興趣的文章:
- 通過(guò)Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫(kù)賬號(hào)
- mysql創(chuàng)建數(shù)據(jù)庫(kù),添加用戶,用戶授權(quán)實(shí)操方法
- mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的方法示例
- linux下mysql創(chuàng)建新的用戶的方法
- mysql5.7創(chuàng)建用戶授權(quán)刪除用戶撤銷(xiāo)授權(quán)
- MySQL創(chuàng)建新用戶、增加賬戶的2種方法及使用實(shí)例
- MySQL創(chuàng)建用戶與授權(quán)及撤銷(xiāo)用戶權(quán)限方法
- MySQL創(chuàng)建用戶與授權(quán)方法
- MYSQL 數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令
- mysql導(dǎo)入導(dǎo)出數(shù)據(jù)中文亂碼解決方法小結(jié)
- MySQL數(shù)據(jù)庫(kù)導(dǎo)出與導(dǎo)入及常見(jiàn)錯(cuò)誤解決
- mysql數(shù)據(jù)庫(kù)創(chuàng)建賬號(hào)、授權(quán)、數(shù)據(jù)導(dǎo)出、導(dǎo)入操作示例
相關(guān)文章
windows下mysql?8.0.27?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql?8.0.27?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04如何優(yōu)化Mysql千萬(wàn)級(jí)快速分頁(yè)
本文深入淺出的分析了如何給千萬(wàn)級(jí)mysql快速分頁(yè)做優(yōu)化,非常的實(shí)用,是篇不可多得的文章,程序員必讀??!2014-09-09MySQL多表查詢與7種JOINS的實(shí)現(xiàn)舉例
最近學(xué)習(xí)了多表查詢,對(duì)此做一些筆記的整理,下面這篇文章主要給大家介紹了關(guān)于MySQL多表查詢與7種JOINS實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02MySQL 8.0.18 Hash Join不支持left/right join左右連接問(wèn)題
在MySQL 8.0.18中,增加了Hash Join新功能,它適用于未創(chuàng)建索引的字段,做等值關(guān)聯(lián)查詢。這篇文章給大家介紹MySQL 8.0.18 Hash Join不支持left/right join左右連接,感興趣的朋友一起看看吧2019-11-11MySql優(yōu)化之InnoDB,4GB內(nèi)存,多查詢的my.ini中文配置方案詳解
本文是一個(gè)針對(duì) 4G 內(nèi)存系統(tǒng)(主要運(yùn)行只有 InnoDB 表的 MySQL 并使用幾個(gè)連接數(shù)執(zhí)行復(fù)雜的查詢)的MySQL配置文件方案2018-03-03詳解MySQL?substring()?字符串截取函數(shù)
MySQL 查詢數(shù)據(jù)有時(shí)候需要對(duì)數(shù)據(jù)項(xiàng)進(jìn)行日期格式化或截取特定部分的操作,當(dāng)需要對(duì)字符串進(jìn)行截取加工時(shí)用到了 substring() 函數(shù),這篇文章主要介紹了MySQL?substring()?字符串截取函數(shù),需要的朋友可以參考下2022-07-07mysql MGR 單主多主模式切換知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理了關(guān)于mysql MGR 單主多主模式切換知識(shí)點(diǎn)詳解內(nèi)容,需要的朋友們可以參考下。2020-03-03