mysql 導出數據

.使用mysqldump命令

導出表結構和數據

mysqldump -uusername -ppassword  database [table]  [-w "id<100"][-n][-t][-d][--skip-add-drop-table][--default-character-set=xxx] > out.sqlmysql

[-w "id<100"]:-w指定查詢條件,這須要指定[table]sql

-n:不導出create database語句spa

- t:不導出create table語句.net

-d:只導出結構,不到出數據(沒有Insert語句)xml

--skip-add-drop-table:默認導出的sql是帶有drop table的,此選項能夠去掉drop tableip

--default-character-set:設置字符集,默認爲utf8get

導出純數據

分隔符格式

mysqldump -uroot -proot demo contacts --tab="d:/" --fields-terminated-by="," --fields-enclosed-by="'"table

--tab:讀取--tab="xxx" xxx 目錄下的sql文件(select * from tablename where ...) 並將結果寫入和xxx同目錄下的txt文件。sed

--fields-terminated-by:字段分隔符file

--fields-enclosed-by:字段包裹符

xml格式

mysqldump -uroot -proot demo contacts -t -X > d:/demo.xml

-X:導出xml格式數據

 

2.使用mysql命令

MySQL -uroot -proot database < dump.sql > data.csv

默認導出的csv是以tab符分割字段的,若是要導出其餘符號分割的,能夠在dump.sql裏面寫select concat(field1, '#' , field2, '#' ......) from tab...

mysql  db_name -uroot -proot -e"select * from contacts" > d:/data.csv

導出以tab分隔符分割的csv

 

3.使用SELECT ...INTO OUTFILE ...

 select * from contacts into outfile "d:/contacts.csv" fields terminated by "," enclosed by "'"

直接執行sql並寫入外部文件,有的時候這種方式行不通。

相關文章
相關標籤/搜索