MySQL中導入 導出CSV

來自: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  
相關文章
相關標籤/搜索