Я придумал http://xsltransform.net/jyH9rMo , который просто делает
New Version!
MySQL может записывать файл в свой собственный каталог данных, как, например, /var/lib/mysql/<databasename>
. Чтобы указать путь, используйте полный путь.
Однако, это должен быть каталог, доступный для записи учетной записи пользователя, под которой работает демон сервера MySQL. По этой причине я часто буду использовать /tmp
:
Укажите путь, по которому вы хотите записать, как в:
INTO OUTFILE '/tmp/mydata.csv'
И обратите внимание, что MySQL запишет файл в MySQL сервер , а не на вашем клиентском компьютере. Поэтому удаленные соединения будут создавать выходные файлы на удаленном сервере. См. Также SELECT INTO OUTFILE local? для получения более подробной информации и обходных путей.
Примечание о записи в /tmp
в системе Linux, работающей systemd
:
Через несколько лет после первоначальной публикации я обнаружил, что не могу найти файл записан в /tmp
через
...INTO OUTFILE '/tmp/outfile.csv'
на сервере MariaDB 5.5 под управлением Fedora Linux с systemd
. Вместо записи файла непосредственно в /tmp/outfile.csv
, как указано, этот каталог и файл были созданы под каталогом systemd в /tmp
:
/tmp/systemd-mariadb.service-XXXXXXX/tmp/outfile.csv
В то время как сам файл outfile.csv
и подкаталог tmp/
оба были созданы для всеобщего доступа, сам каталог службы systemd имеет 700 разрешений и принадлежит пользователю с правами root, что требует доступа sudo
для извлечения файла из него.
Вместо того, чтобы указывать абсолютный путь в MariaDB как /tmp/outfile.csv
и указывать его относительно outfile.csv
, файл был записан, как и ожидалось, в каталог данных MariaDB для текущей выбранной базы данных.
В случае, если кто-либо в OS X имеет эту проблему, mysql
, установленный с homebrew, имеет выход по умолчанию, расположенный в /usr/local/var/mysql/database-name/
Вы найдете файл в C:\wamp\bin\mysql\mysql5.5.24\data
, но имя будет UsersNamecarro.txt
, если вы дадите select * from carro where id_cor<4 INTO OUTFILE 'C:\Users\Name\carro.txt';
, поэтому просто напишите .....OUTFILE 'C:\carro.txt'
, чтобы получить файл с именем carro.txt
в data
папка
Только для примера:
Я выполнял запрос ниже в MySQL Workbench & amp; Я нашел свой файл в
SELECT * FROM `db`.`table` INTO OUTFILE 'file.csv' FIELDS TERMINATED BY ',';
D: \ wamp \ bin \ mysql \ mysql5.6.17 \ data \ db \ file.csv
Вы можете использовать приведенный ниже пример, чтобы установить путь к файлу:
SELECT * FROM `db`.`table` INTO OUTFILE 'C:\\file.csv' FIELDS TERMINATED BY ',';