2013-03-07 19 views
6

テーブルの1つのカラムのmysqlダンプを取らなければならないという要件があります。テーブルにはカラムが多すぎるので、テーブル全体をダンプしたくありません。あるサーバーから別のサーバーにテーブルのダンプを取得する必要があります。どのように私はこれを行うことができます任意のアイデア?テーブルの選択されたカラムのmysqlダンプを取る方法

答えて

0

ファイルに列を選択しますか?

Select col from table into outfile 'fileame' 
+0

このダンプをあるサーバーから別のサーバーに取得する必要があるため、このファイルはそこからアクセスできません。 – user1085195

+0

あなたは 'mysqldump'と同じようにファイルをコピーします。 – Barmar

+0

削除サーバー上のファイルはどういったものですか? – SteveP

1

スキーマを含むmysqlのダンプを取るしたい場合、それは以下の手順で行うことができます。

は一時テーブルを作成します。

TEMP_TABLEにデータを複製する
create table temp_table like name_of_the_original_table; 

を:

insert into temp_table select * from name_of_the_original_table; 

落とし不要なフィールド:

​​

ポストこれは、実行してmysqldumpをを取ることができる:

mysqldump -u <username> -p <password> databasename temp_table 

意図は(スキーマなし)のデータダンプを取ることであれば、あなたは以下のコマンドを実行することができます

select * from sometable into outfile '/tmp/datadump' fields terminated by '\t' lines terminated by '\n'; 
1
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`; 
関連する問題