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