如果 MySQL
服务器已使用 –secure-file-priv
选项启动,则必须使用 SELinux
允许 MySQL
访问的目录保存输出文件。
SHOW VARIABLES LIKE "secure_file_priv"
例如在 Ubuntu
下默认为 /var/lib/mysql-files/
,只能将输出文件存储在此目录中。
选择表的所有数据并指定输出文件的位置。
SELECT id, download, COALESCE(gift, ''), COALESCE(cdk, '')
INTO OUTFILE '/var/lib/mysql-files/downlink.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
FROM downlink;
输出所有字段,并使用非正式的 \
进行转义
TABLE downlink
INTO OUTFILE '/var/lib/mysql-files/downlink.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
忽略重复行,导入无表头文件
LOAD DATA
INFILE '/var/lib/mysql-files/downlink.csv'
IGNORE INTO TABLE downlink
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
替换重复行,同时忽略 CSV
表头,并显式指定 MySQL
列名
LOAD DATA
INFILE '/var/lib/mysql-files/downlink.csv'
REPLACE INTO TABLE downlink
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(download, gift, cdk);