我只需要从包含大量列的非常大的表中导出列的子集。此外,该表包含数百万行,因此我只想从该表中导出特定行。
我最近开始使用 Mysql,之前我正在研究 Oracle。
这对我有用:
mysql -u USERNAME --password=PASSWORD --database=DATABASE \
--execute='SELECT `field_1`, `field_2` FROM `table_name`' -X > file.xml
然后使用命令导入文件:
LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE table_name(field_1, field_2, ...);
你需要什么格式的数据?您可以使用查询获得 CSV。例如
SELECT column1,column2,column3,... FROM table WHERE column1=criteria1,....
INTO OUTFILE '/tmp/output.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/
像 phpMyAdmin ( http://www.phpmyadmin.net/ ) 这样的管理工具也可以用来运行查询,然后以各种格式导出结果。