Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como exportar a linha de quebra '\n' em um arquivo usando MySQL INTO OUTFILE


É uma questão de sequências de escape e existem várias maneiras de fazê-lo. Eu escolhi apenas colocar as aspas simples iniciais aninhadas dentro das aspas duplas externas perto do final da primeira maneira (com 3 pedaços em concat ).

E aspas simples como a segunda maneira (com 2 pedaços em concat ):
SET @filename = 'C:/icl/myfile.CSV';
-- C:/icl/myfile.CSV

SET @str = CONCAT('LOAD DATA INFILE ',@filename);
-- LOAD DATA INFILE C:/icl/myfile.CSV

-- First way is below (with the result being the line after it if you ignore the `-- ` at the beginning):
SET @str = CONCAT(@str," INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '","\\n'");
-- LOAD DATA INFILE C:/icl/myfile.CSV INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '\n'

-- Second way is below (with the result being the line after it if you ignore the `-- ` at the beginning):
SET @str = CONCAT('LOAD DATA INFILE ',@filename);
SET @str = CONCAT(@str,' INTO TABLE icl_process_data.filecontent LINES TERMINATED BY \'\\n\'');
-- LOAD DATA INFILE C:/icl/myfile.CSV INTO TABLE icl_process_data.filecontent LINES TERMINATED BY '\n'

Da página de manual do mysql em String Liteals :