在MySQL數(shù)據(jù)庫中,可以使用LOAD DATA INFILE
和SELECT ... INTO OUTFILE
這兩個命令分別進行數(shù)據(jù)的導入和導出。
數(shù)據(jù)導入的方法如下:
使用LOAD DATA INFILE
命令導入本地文件到MySQL數(shù)據(jù)庫中。語法結(jié)構(gòu)如下:
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
:要將數(shù)據(jù)插入到的目標表名。separator
:指定字段之間的分隔符。enclosed_character
:指定字段值所用的引號字符。line_separator
:指定每行的結(jié)束符。ignore_number_of_rows
:忽略文件中的前幾行數(shù)據(jù)。例如,將本地文件data.csv
導入到名為students
的表中,字段之間用逗號分隔,字段值用雙引號包圍,每行數(shù)據(jù)以換行符結(jié)束,忽略前兩行數(shù)據(jù),可以使用以下命令:
LOAD DATA LOCAL INFILE 'data.csv'
INTO TABLE students
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 2 ROWS;
數(shù)據(jù)導出的方法如下:
使用SELECT ... INTO OUTFILE
命令將MySQL數(shù)據(jù)庫中的數(shù)據(jù)導出到本地文件。語法結(jié)構(gòu)如下:
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
:指定每行的結(jié)束符。FROM table_name
:指定要導出數(shù)據(jù)的表名。如果不指定,則默認為當前表。例如,將名為students
的表中的所有數(shù)據(jù)導出到本地文件data.csv
中,字段之間用逗號分隔,字段值用雙引號包圍,每行數(shù)據(jù)以換行符結(jié)束,可以使用以下命令:
SELECT *
INTO OUTFILE 'data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';