Как экспортировать результат запроса MySQL в несколько файлов `txt`? - PullRequest
0 голосов
/ 03 июля 2019

В моей рабочей среде MySQL у меня есть таблица color_table -

Account |    ID    |  Color |
--------|----------|--------|
 A      |    1     |  Blue  |
 A      |    1     | Orange |
 A      |    1     |  Red   |
 B      |    2     | Black  |
 B      |    2     |  Blue  |

Существует ли один запрос для генерации .txt файлов с именами A.txt и B.txt где-

A.txt-               

Blue        
Orange                 
Red

&

B.txt-

Black
Blue

Эта таблица может содержать до 7 миллионов строк. Что бы вы посоветовали как лучший подход для чего-то подобного?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я решил это, сначала экспортировав 2 столбца в файл-

SELECT Account, Color FROM color_table
INTO OUTFILE /tmp/colors.csv
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'

, а затем написание скрипта Python для итерации по colors.csv и создания новых файлов, как я описал в этом вопросе.

Но я все же хотел бы знать, есть ли способ сделать то, что я хочу, с помощью одного или двух запросов MySQL.

0 голосов
/ 03 июля 2019

Я бы попробовал запустить это в SQLPlus.Буферизируйте вывод в txt или, возможно, вместо csv.

Select color from table where account='A';
...