Подтвердить что ты не робот

MYSQL - Как мне экспортировать таблицы, определяющие только определенные поля?

Как мне экспортировать таблицы, определяющие только определенные поля?

Я использую mysql 5.0 - используя либо команду sql, либо mysqldump.

Моя таблица X, а поля, которые я хочу экспортировать, - A, B, C

4b9b3361

Ответ 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;