Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wyeksportować linię podziału '\n' w pliku za pomocą MySQL INTO OUTFILE

Jest to kwestia sekwencji ucieczki i można to zrobić na kilka sposobów. Wybrałem po prostu umieszczenie początkowego pojedynczego cudzysłowu zagnieżdżonego wewnątrz zewnętrznych podwójnych cudzysłowów pod koniec pierwszego sposobu (z 3 kawałkami w concat ).

I pojedyncze cudzysłowy jako drugi sposób (z 2 kawałkami w 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'

Ze strony podręcznika mysql na Literały łańcuchowe :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować wiele duplikatów z różnymi wartościami w tej samej tabeli?

  2. Jak wyszukiwać wiersze zawierające podciąg?

  3. Parametry warunkowe konstruktora zapytań

  4. Domyślny czas daty i godziny MySQL z interwałem

  5. obliczanie i pokazywanie daty jako „sek temu”, „minuty temu”, „godziny temu” itp