生活随笔
收集整理的這篇文章主要介紹了
mysql命令行导入和导出数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?首先打開命令窗口,輸入命令:mysql -h localhost -u selffabu -p
連接成功后,進行下面的操作
MySQL中導出CSV格式數據的SQL語句樣本如下:
Sql代碼
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'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';
MySQL中導入CSV格式數據的SQL語句樣本如下,要導入的文件編碼格式是UTF-8:
Sql代碼
load?data local?infile?'/tmp/test.csv'??? into?table?test_info???? fields?terminated?by?','??optionally?enclosed?by?'"'?escaped?by?'"'??? lines?terminated?by?'\n'; load data local infile '/tmp/test.csv'
into table test_info
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';?
里面最關鍵的部分就是格式參數
[sql] fields?terminated?by?','?optionally?enclosed?by?'"'?escaped?by?'"'??? lines?terminated?by?'\r\n'??? 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格式,其要點包括:
(1)字段之間以逗號分隔,數據行之間以\r\n分隔;
(2)字符串以半角雙引號包圍,字符串本身的雙引號用兩個雙引號表示。
?
文件:test_csv.sql
[sql] use?test;?? ?? create?table?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';?? ?? 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';?? ?? select?*?from?test_info;?? ?? ??? use test;create table 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';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';select * from test_info;
?
文件:test.csv
[Text] 2010,"hello,?line?? suped?? seped?? ""?? end"?? 2010,"hello, line
suped
seped
""
end"
?
在Linux下如果經常要進行這樣的導入導出操作,當然最好與Shell腳本結合起來,為了避免每次都要寫格式參數,可以把這個串保存在變量中,如下所示:(文件mysql.sh)
Bash代碼
#!/bin/sh?? ?? ?? #?Copyright?(c)?2010?codingstandards.?All?rights?reserved.?? #?file:?mysql.sh?? #?description:?Bash中操作MySQL數據庫?? #?license:?LGPL?? #?author:?codingstandards?? #?email:?codingstandards@gmail.com?? #?version:?1.0?? #?date:?2010.02.28?? ?? ?? #?MySQL中導入導出數據時,使用CSV格式時的命令行參數?? #?在導出數據時使用:select?...?from?...?[where?...]?into?outfile?'/tmp/data.csv'?$MYSQL_CSV_FORMAT;?? #?在導入數據時使用:load?data?infile?'/tmp/data.csv'?into?table?...?$MYSQL_CSV_FORMAT;?? #?CSV標準文檔:RFC?4180?? MYSQL_CSV_FORMAT="fields?terminated?by?','?optionally?enclosed?by?'\"'?escaped?by?'\"'?lines?terminated?by?'\r\n'"?? #!/bin/sh# Copyright (c) 2010 codingstandards. All rights reserved.
# file: mysql.sh
# description: Bash中操作MySQL數據庫
# license: LGPL
# author: codingstandards
# email: codingstandards@gmail.com
# version: 1.0
# date: 2010.02.28# MySQL中導入導出數據時,使用CSV格式時的命令行參數
# 在導出數據時使用:select ... from ... [where ...] into outfile '/tmp/data.csv' $MYSQL_CSV_FORMAT;
# 在導入數據時使用:load data infile '/tmp/data.csv' into table ... $MYSQL_CSV_FORMAT;
# CSV標準文檔:RFC 4180
MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'
?
轉自:http://blog.csdn.net/sara_yhl/article/details/6850107
總結
以上是生活随笔 為你收集整理的mysql命令行导入和导出数据 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。