テーブルの1列だけのmysqlダンプを取得する必要があるという要件があります。そのテーブルには列が多すぎるので、テーブル全体をダンプしたくありません。このテーブルのダンプをあるサーバーから別のサーバーに取得する必要があります。どうすればこれを行うことができますか?
スキーマを含むmysqlダンプを取得する場合は、次の手順に従って実行できます。
一時テーブルを作成します。
create table temp_table like name_of_the_original_table;
データをtemp_tableに複製する:
insert into temp_table select * from name_of_the_original_table;
不要なフィールドの削除:
alter table temp_table drop column somecolumn;
これを投稿すると、次のコマンドを実行してmysqldumpを取得できます。
mysqldump -u <username> -p <password> databasename temp_table
(スキーマなしで)データダンプを取得する場合は、次のコマンドを実行できます。
select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n';
列をファイルに選択しますか?
Select col from table into outfile 'fileame'
mysql> CREATE TABLE `tempTable` AS SELECT `columnYouWant` from `table`;
$> mysqldump yourDB tempTable > temp.sql
temp.sqlをターゲットサーバーにコピーしてから、ターゲットサーバーにコピーします
$> mysql yourDB < temp.sql
mysql> RENAME TABLE `table` TO `tableBackup`, `tempTable` TO `table`;