Экспорт результатов запроса в CSV-файл
Экспорт данных так же важен, как и импорт. Возможно, вам потребуется создавать отчеты, передавать данные другим системам или выполнять анализ в программе для работы с электронными таблицами. Оператор SELECT ... INTO OUTFILE позволяет сохранить результат любого запроса непосредственно в файл.
Сначала добавим еще двух сотрудников в таблицу в вашей оболочке MySQL.
INSERT INTO employees (id, first_name, last_name, email, department) VALUES
(5, 'Alice', 'Johnson', 'alice.johnson@example.com', 'Sales'),
(6, 'Bob', 'Williams', 'bob.williams@example.com', 'Marketing');
Теперь экспортируем всю таблицу employees в новый файл с именем employees_export.csv. Сначала убедитесь, что вы находитесь в правильной базе данных:
SELECT id, first_name, last_name, email, department
FROM company.employees
INTO OUTFILE '/tmp/employees_export.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
SELECT ...: Это стандартный запрос, который определяет, какие данные экспортировать.
INTO OUTFILE '/tmp/employees_export.csv': Указывает полный путь к выходному файлу. В целях безопасности MySQL требует, чтобы этот файл еще не существовал.
FIELDS TERMINATED BY ',': Разделяет поля запятой.
ENCLOSED BY '"': Оборачивает каждое значение поля в двойные кавычки, что является распространенным форматом CSV.
LINES TERMINATED BY '\n': Завершает каждую строку символом новой строки.
После выполнения команды переключитесь на другую вкладку терминала (или откройте новую) и просмотрите содержимое только что созданного файла.
cat /tmp/employees_export.csv
Вы увидите все шесть строк из вашей таблицы, отформатированных как CSV-файл.
"1","John","Doe","john.doe@example.com","Sales"
"2","Jane","Smith","jane.smith@example.com","Marketing"
"3","Peter","Jones","peter.jones@example.com","Engineering"
"4","Mary","Brown","mary.brown@example.com","HR"
"5","Alice","Johnson","alice.johnson@example.com","Sales"
"6","Bob","Williams","bob.williams@example.com","Marketing"