Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment exporter la ligne de rupture '\n' dans un fichier à l'aide de MySQL INTO OUTFILE

C'est une question de séquences d'échappement et il y a plusieurs façons de le faire. J'ai choisi de simplement mettre le guillemet simple de départ niché à l'intérieur des guillemets doubles extérieurs vers la fin du premier chemin (avec 3 morceaux dans concat ).

Et les guillemets simples comme deuxième manière (avec 2 morceaux dans 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'

À partir de la page de manuel mysql sur String Literals :