LOAD FILE
是 MySQL 中的一個內置函數,用于從本地文件系統讀取數據并將其導入到數據庫表中。這個函數允許你直接將文本文件或其他可讀的二進制文件加載到數據庫中,而無需編寫復雜的腳本或使用其他工具。
LOAD FILE
函數的基本語法如下:
LOAD DATA LOCAL INFILE 'file_path'
INTO TABLE table_name
FIELDS TERMINATED BY 'field_separator'
ENCLOSED BY 'enclosed_character'
LINES TERMINATED BY 'line_separator'
IGNORE number_of_lines;
參數說明:
file_path
:要加載的文件路徑。確保文件路徑是 MySQL 服務器可以訪問的。如果使用絕對路徑,請確保路徑正確;如果使用相對路徑,請確保相對路徑與當前工作目錄相關。table_name
:要將數據導入到的目標表名。field_separator
:用于分隔表中各個字段的字符。默認值是逗號(,
)。enclosed_character
:用于包圍字段值的字符。默認值是雙引號("
)。line_separator
:用于分隔表中的每一行。默認值是換行符(\n
)。ignore_number_of_lines
:要忽略的文件開頭行數。默認值為 0,表示不忽略任何行。使用 LOAD FILE
函數時,需要注意以下幾點:
確保 MySQL 服務器配置允許使用 LOAD DATA LOCAL INFILE
功能。在某些系統上,出于安全原因,該功能可能被禁用。你可以檢查 MySQL 服務器的配置文件(通常是 my.cnf
或 my.ini
),并確保以下設置已啟用:
[mysqld]
local-infile=1
如果更改了配置文件,請重新啟動 MySQL 服務器以使更改生效。
確保文件和表具有正確的權限。MySQL 用戶需要有足夠的權限訪問指定的文件路徑和表。
如果文件很大,考慮使用流式處理或其他方法將其分割成較小的部分,以便更有效地導入數據。
如果遇到編碼問題,確保文件的編碼與數據庫字符集兼容。如果需要,可以在 LOAD DATA INFILE
語句中使用 CHARACTER SET
子句指定字符集。