- FIELDS TERMINATED BY 'value':設定欄位之間的分隔字元,可以為單個或多個字元,預設情況下為製表符(\t)。
- FIELDS [OPTIONALLY] ENCLOSED BY 'value':設定欄位的包圍字元,只能為單個字元,若使用了OPTIONALLY關鍵字,則只有CHAR和VERCHAR等字元資料欄位被包圍。
- FIELDS ESCAPED BY 'value':設定如何寫入或讀取特殊字元,只能為單個字元,即設定跳脫字元,預設值為“\”。
- LINES STARTING BY 'value':設定每行資料開頭的字元,可以為單個或多個字元,預設情況下不使用任何字元。
- LINES TERMINATED BY 'value':設定每行資料結尾的字元,可以為單個或多個字元,預設值為“\n”。
FIELDS和LINES兩個子句都是自選的,但是如果兩個都被指定了,則FIELDS必須位於LINES的前面。
使用SELECT...INTO OUTFILE語句,可以非常快速地把一張錶轉儲到伺服器上。如果想要在伺服器主機之外的部分客戶主機上建立結果檔案,不能使用SELECT...INTO OUTFILE,應該使用“MySQL –e "SELECT ..." > file_name”這類的命令來生成檔案。
SELECT...INTO OUTFILE是LOAD DATA INFILE的補語,用於語句的OPTIONS部分的語法包括部分FIELDS和LINES子句,這些子句與LOAD DATA INFILE語句同時使用。
【例11.10】使用SELECT...INTO OUTFILE將test_db資料庫中的person表中的記錄匯出到文字檔案,SQL語句如下:
查詢指定目錄的命令如下:
重啟MySQL伺服器後,再次使用SELECT...INTO OUTFILE將test_db資料庫中的person表中的記錄匯出到文字檔案,SQL語句如下:
【例11.11】使用SELECT...INTO OUTFILE語句,將test_db資料庫person表中的記錄匯出到文字檔案,使用FIELDS選項和LINES選項,要求欄位之間使用逗號分隔,所有欄位值用雙引號引起來,定義跳脫字元為單引號“\'”,SQL語句如下:
“FIELDS TERMINATED BY ','”表示欄位之間用逗號分隔;“ENCLOSED BY '\"'”表示每個欄位用雙引號引起來;“ESCAPED BY '\'”表示將系統預設的跳脫字元替換為單引號;“LINES TERMINATED BY '\r\n'”表示每行以回車換行符結尾,保證每一條記錄佔一行。
執行成功後,在D盤下生成一個person1.txt檔案。開啟檔案,內容如下:
【例11.12】使用SELECT...INTO OUTFILE語句,將test_db資料庫person表中的記錄匯出到文字檔案,使用LINES選項,要求每行記錄以字串“>”開始、以字串“<end>”結尾,SQL語句如下: