在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';