1、LOAD DATA通過讀取本地文件系統(tǒng)上的文件,可以將大量數(shù)據(jù)添加到數(shù)據(jù)庫中。
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、秀峰網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
mysql USE db1;
mysql LOAD DATA INFILE ‘datafile.txt’ INTO TABLE db2.table_name;
2、mysqlimport命令直接從文件讀取批量數(shù)據(jù)。它相當(dāng)于LOAD DATA語句的一個接口。
mysqlimport根據(jù)文件名導(dǎo)入表名,即將文件名第一個圓點前的所有字符作為表名。例如,文件class.txt被裝入class表中。
mysqlimport -L -uroot -proot db01 table_name.txt;
3、假如你原來表為T1表,數(shù)據(jù)導(dǎo)入到了T2表??梢杂?/p>
insert into T1 select * from T2;
ysql自己有個csv引擎,可以通過這個引擎來實現(xiàn)將csv中的數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫中,并且速度比通過php或是python寫的批處理程序快的多。
具體的實現(xiàn)代碼示例:
代碼如下:
load data infile '/tmp/file.csv' into table _tablename (set character utf8)
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n';
這段代碼中涉及的一些關(guān)鍵字的解釋如下:
fields terminated by '':這是指出csv文件中字段終止符,也就是數(shù)據(jù)之間的分隔符;
enclosed by '':指出封套符;
lines terminated by '':指行終止符
在csv文檔(RFC4180)中詳細(xì)介紹了csv的格式,其中的要點有:
(1)字段之間以“,”(逗號)間隔,數(shù)據(jù)行之間使用\r\n分隔;
(2)字符串以半角雙引號包圍,字符串本身的雙引號用兩個雙引號表示。
通過以上的解釋,詳細(xì)對于數(shù)據(jù)導(dǎo)入代碼應(yīng)該有更好的理解了。
同樣的,csv數(shù)據(jù)能夠?qū)雖ysql數(shù)據(jù)庫中,mysql中的數(shù)據(jù)表也能導(dǎo)出csv文件,導(dǎo)出的代碼示例:
代碼如下:
select * from tablename into outfile '/tmp/data.txt'
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n';
當(dāng)將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到文件后,要再將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中,必須遵守導(dǎo)出時的文件中定義的格式。
mysql命令行:
load data infile 'CSV文件存放路徑'
into table 表名
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
或者下載個sqlyog之類的可以直接導(dǎo)
或者打開csv文件 用excel內(nèi)置函數(shù)拼接 insert into 語句
由于工作需要,經(jīng)常需要將mysql數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到excel表格,或者需要將excel表格數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫,我的方法是先將它們都轉(zhuǎn)換成一種中間數(shù)據(jù)格式csv(execl數(shù)據(jù)可以直接導(dǎo)出為csv格式,csv格式也可以直接用excel打開)。下面介紹一下操作步驟:
csv導(dǎo)入mysql
load data infile 'C:\\Users\\UserName\\Desktop\\test.csv'
into table `table`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';