來自:http://blog.csdn.net/sara_yhl/article/details/6850107mysql
導出sql
select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
導入shell
load data infile '/tmp/test.csv' into table test_info fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
其中關鍵參數是spa
fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'
這個參數是根據RFC4180文檔設置的,該文檔全稱Common Format and MIME Type for Comma-Separated Values (CSV) Files,其中詳細描述了CSV格式,其要點包括:.net
(1)字段之間以逗號分隔,數據行之間以\r\n分隔;code
(2)字符串以半角雙引號包圍,字符串自己的雙引號用兩個雙引號表示。orm
shell 例子blog
#!/bin/sh . /opt/shtools/commons/mysql.sh # MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'" echo "MYSQL_CSV_FORMAT=$MYSQL_CSV_FORMAT" rm /tmp/test.csv mysql -p --default-character-set=gbk -t --verbose test <<EOF use test; create table if not exists test_info ( id integer not null, content varchar(64) not null, primary key (id) ); delete from test_info; insert into test_info values (2010, 'hello, line suped seped " end' ); select * from test_info; -- select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; select * from test_info into outfile '/tmp/test.csv' $MYSQL_CSV_FORMAT; delete from test_info; -- load data infile '/tmp/test.csv' into table test_info fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; load data infile '/tmp/test.csv' into table test_info $MYSQL_CSV_FORMAT; select * from test_info; EOF echo "===== content in /tmp/test.csv =====" cat /tmp/test.csv