MYSQL - Как мне экспортировать таблицы, определяющие только определенные поля?
Как мне экспортировать таблицы, определяющие только определенные поля?
Я использую mysql 5.0 - используя либо команду sql, либо mysqldump.
Моя таблица X, а поля, которые я хочу экспортировать, - A, B, C
Ответ 1
SELECT A,B,C
FROM X
INTO OUTFILE 'file name';
Для этого вам нужна привилегия FILE, и она не будет перезаписывать файлы.
INTO OUTFILE также содержит множество параметров, таких как FIELDS ENCLOSED BY, FIELDS ESCAPED BY и т.д., которые вы можете захотеть найдите в руководстве.
Чтобы создать файл CSV, вы должны сделать что-то вроде:
SELECT A,B,C
INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM X;
Чтобы загрузить данные из файла, используйте команду LOAD DATA INFILE с теми же параметрами, которые вы использовали для выгрузки. Для формата CSV выше, это будет
LOAD DATA INFILE '/tmp/result.txt'
INTO TABLE X
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Ответ 2
Если вы используете phpMyAdmin,
Запустить запрос
SELECT A, B, C FROM X
и в нижней части результата есть опция экспорта.
Ответ 3
OUTFILE не дает вам дампа SQL, ни mysqldump не может работать с подмножеством столбцов.
Но вы можете create table temp_weeeee select ...., экспортировать и отбросить его.
Ответ 4
Команда оболочки
echo 'select field from db.table;' | mysql -u user -p password > output.txt
Ответ 5
Try:
SELECT col1, col2
INTO OUTFILE '/filepath/export.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM table;