在MySQL數據庫中,可以使用LOAD DATA INFILE
和SELECT ... INTO OUTFILE
這兩個命令分別進行數據的導入和導出。
數據導入的方法如下:
使用LOAD DATA INFILE
命令導入本地文件到MySQL數據庫中。語法結構如下:
LOAD DATA [LOCAL] INFILE 'file_name'
INTO TABLE table_name
FIELDS TERMINATED BY 'separator'
ENCLOSED BY 'enclosed_character'
LINES TERMINATED BY 'line_separator'
IGNORE number_of_rows;
其中:
LOCAL
:指定文件是從本地讀取還是從TCP/IP連接讀取。如果省略,則默認為客戶端。file_name
:要導入的文件路徑。table_name
:要將數據插入到的目標表名。separator
:指定字段之間的分隔符。enclosed_character
:指定字段值所用的引號字符。line_separator
:指定每行的結束符。ignore_number_of_rows
:忽略文件中的前幾行數據。例如,將本地文件data.csv
導入到名為students
的表中,字段之間用逗號分隔,字段值用雙引號包圍,每行數據以換行符結束,忽略前兩行數據,可以使用以下命令:
LOAD DATA LOCAL INFILE 'data.csv'
INTO TABLE students
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 2 ROWS;
數據導出的方法如下:
使用SELECT ... INTO OUTFILE
命令將MySQL數據庫中的數據導出到本地文件。語法結構如下:
SELECT column1, column2, ...
INTO OUTFILE 'file_path'
FIELDS TERMINATED BY 'separator'
ENCLOSED BY 'enclosed_character'
LINES TERMINATED BY 'line_separator'
[FROM table_name];
其中:
column1, column2, ...
:要導出的列名。file_path
:導出文件的目標路徑。separator
:指定字段之間的分隔符。enclosed_character
:指定字段值所用的引號字符。line_separator
:指定每行的結束符。FROM table_name
:指定要導出數據的表名。如果不指定,則默認為當前表。例如,將名為students
的表中的所有數據導出到本地文件data.csv
中,字段之間用逗號分隔,字段值用雙引號包圍,每行數據以換行符結束,可以使用以下命令:
SELECT *
INTO OUTFILE 'data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';