MySQL INTO OUTFILE和LOAD DATA INFILE用法
【匯出】:
基本語法:
SELECT ... FROM table_name INTO OUTFILE '/tmp/test.txt';
或者
SELECT ... INTO OUTFILE '/tmp/test.txt' FROM table_name;
匯出文件如下:
可以看出,每條記錄以回車換行為界,每個欄位以tab為界,這是outfile的預設分界符。
如果想自定義欄位的分隔符、每條記錄的分隔符、還有每條欄位的包裹符,可以透過加引數來實現。
以第一種匯入方式為例(SELECT ... FROM table_name INTO OUTFILE '/tmp/test.txt'):
FIELDS TERMINATED BY 用於設定欄位的分隔符
OPTIONAALY ENCLOSED BY 用於設定欄位由什麼符號包裹
LINES TERMINATED BY 用於設定每條記錄分隔符,比如\n意為換行,\r為回車
【匯入】:
基本語法:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE table_name ;
完整語法:
根據不同的file分隔符、換行符等不同,可以加上不同的引數:
比如
如果要忽略,可以IGNORE n LINES,代表忽略前n行。
上述詳細語法已經給出。(詳細語法摘自MySQL 5.6 Reference Manual)
---------------------------- 更新
mysqldump也也有等同into outfile的引數:
比如
預設會在當前目錄下生成一個 $tb_name.txt 的檔案
等同於
作者公眾號(持續更新)
基本語法:
SELECT ... FROM table_name INTO OUTFILE '/tmp/test.txt';
或者
SELECT ... INTO OUTFILE '/tmp/test.txt' FROM table_name;
-
mysql> SELECT field_name FROM Country INTO OUTFILE '/tmp/test.txt';
- Query OK, 239 rows affected (0.00 sec)
- mysql> SELECT field_name INTO OUTFILE '/tmp/Country2.txt' FROM Country;
- Query OK, 239 rows affected (0.00 sec)
可以看出,每條記錄以回車換行為界,每個欄位以tab為界,這是outfile的預設分界符。
如果想自定義欄位的分隔符、每條記錄的分隔符、還有每條欄位的包裹符,可以透過加引數來實現。
以第一種匯入方式為例(SELECT ... FROM table_name INTO OUTFILE '/tmp/test.txt'):
- mysql> SELECT * FROM Country INTO OUTFILE '/tmp/test.txt'
- -> FIELDS TERMINATED BY ','
- -> OPTIONALLY ENCLOSED BY '"'
- -> LINES TERMINATED BY '\n';
FIELDS TERMINATED BY 用於設定欄位的分隔符
OPTIONAALY ENCLOSED BY 用於設定欄位由什麼符號包裹
LINES TERMINATED BY 用於設定每條記錄分隔符,比如\n意為換行,\r為回車
【匯入】:
基本語法:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE table_name ;
完整語法:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] [IGNORE number {LINES | ROWS}] [(col_name_or_user_var,...)] [SET col_name = expr,...]
根據不同的file分隔符、換行符等不同,可以加上不同的引數:
比如
-
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE table_name
-
FIELDS
-
TERMINATED BY ','
-
ENCLOSED BY '"'
-
LINES
- TERMINATED BY '\r';
上述詳細語法已經給出。(詳細語法摘自MySQL 5.6 Reference Manual)
---------------------------- 更新
mysqldump也也有等同into outfile的引數:
比如
- mysqldump -u -p --no-create-info --tab=. --fields-terminated-by=, --fields-optionally-enclosed-by=\" $db_name $tb_name
預設會在當前目錄下生成一個 $tb_name.txt 的檔案
等同於
-
SELECT * FROM $db_name.$tb_name
-
INTO OUTFILE '/tmp/$tb.name'
- FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
作者公眾號(持續更新)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1795089/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉貼】mysql匯入資料load data infile用法MySql
- MYSQL使用記錄之:infile/outfileMySql
- Windows MySQL load data 命令中的infile 檔案目錄WindowsMySql
- MySQL 5.5使用LOAD DATA INFILE語句匯入資料MySql
- load data infile ERROR 1045 (28000)Error
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- 關於MySQL中使用LOAD DATA INFILE匯入csv檔案時的日期格式問題MySql
- Java不寫檔案,LOAD DATA LOCAL INFILE大批量匯入資料到MySQL的實現JavaMySql
- 測試mysql--load dataMySql
- MySQL load data載入資料MySql
- mysql之select into outfileMySql
- 【MySQL】load data語句詳解(一)MySql
- 【MySQL】load data語句詳解(二)MySql
- 【MySQL】load data語句詳解(三)MySql
- 使用load data匯入資料到mysqlMySql
- MySQL的文字匯入之load data localMySql
- 【Mysql】into outfile報錯的問題MySql
- Mysq-造數工具mysql_random_data_loadMySqlrandom
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- MySQL資料匯入匯出之Load data fileMySql
- Lua——load和loadstring函式用法函式
- infile * 不能和str屬性連用
- Navicat、into outfile、mysql命令、mysqldump、mysqlpump、mydumper匯出匯入資料MySql
- 故障分析 | MySQL 使用 load data 匯入資料錯誤的一個場景MySql
- JavaWeb開發之load-on-startup用法JavaWeb
- SQLserver-MySQL的區別和用法ServerMySql
- PDS WH 專案軼事之Master Data LoadAST
- oracle ebs r12 use loadrunner load dataOracle
- GreatSQL 並行Load Data加快資料匯入SQL並行
- MySQL data pageMySql
- spring data jpa 常見用法Spring
- iOS-關於Xcode中-ObjC、-all_load、-force_load的用法iOSXCodeOBJ
- PHP中MySQL、MySQLi和PDO的用法和區別PHPMySql
- mysql load 相關實驗MySql
- MySQL SELECT..INTO OUTFILE語句只能匯出1000行的故障MySql
- mysql explain用法和結果的含義MySqlAI
- mysql反引號和引號的用法MySql
- MySQL load xml載入資料MySqlXML