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

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

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

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

12.12.2008 15:27:44
5 ОТВЕТОВ
РЕШЕНИЕ
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';
21
12.12.2008 15:38:32

Пытаться:

SELECT col1, col2
  INTO OUTFILE '/filepath/export.txt'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
FROM table;
1
12.12.2008 15:35:06

OUTFILEне создает дамп SQL и не mysqldumpможет работать с подмножеством столбцов. Но вы можете create table temp_weeeee select ....экспортировать и выбросить.

5
18.07.2012 20:49:10

Команда Shell

echo 'select field from db.table;' | mysql -u user -p password > output.txt
4
16.04.2013 09:10:21
Отлично! Очевидно, что он работает и с несколькими полями: echo 'select column1, column2, column3 from database.table;' | mysql -u user -ppassword> output.txt
Danny Schoemann 14.08.2013 11:22:14
Спасибо за команду оболочки! Это также включает имя поля в выводе. Есть ли способ, которым это может быть опущено?
axil 3.07.2015 09:04:49
@axil Используйте -N, --skip-column-namesопцию.
Burhan Ali 15.09.2017 13:58:10

Если вы используете phpMyAdmin,

Запустите запрос

ВЫБЕРИТЕ A, B, C ОТ X

и есть опция экспорта в нижней части результата.

8
20.10.2013 06:44:13