2009-04-08 19 views
3

大きなCSVファイルをMySQLデータベースにインポートしようとしています。ファイル全体を1つのフラットテーブルにロードしました。私はselectステートメントを使用して別のテーブルに移動する必要があるデータを選択することができます、私の質問はどのように私はそれらの選択クエリの結果を別のテーブルにコピーするのですか?私は完全にSQLでそれを行うと、スクリプト言語を使用することについて心配する必要はありません。別のmysqlテーブルにクエリ結果をコピー

答えて

4
INSERT INTO anothertable (list, of , column, names, to, give, values, for) 
SELECT list, of, column, names, of, compatible, column, types 
FROM bigimportedtable 
WHERE possibly you want a predicate or maybe not; 
+0

すごくうまく動いています。現在、自分のテーブルの1つに重複しているプラ​​イマリキーがあります。このクエリでは、クエリ結果から2つのフィールドを連結し、それを私のテーブルに追加することは可能ですか? County_IDとPrecienct_IDをとり、121-603のような1つのフィールドを作成し、それを私のpkとして使用しますか? – gsueagle2008

+0

まあ、そうかもしれない。その計算をselectリストに入れてください:insert into foo(id)barからconcat(county_id)、 ' - '、precinct_idを選択してください。しかし、このような複合的なksyはいくつかの理由から、悪い考えです。選挙/投票者ファイルデータベースを作成する機会がありますか? – tpdi

6
INSERT 
INTO new_table_1 
SELECT * 
FROM existing_table 
WHERE condition_for_table_1; 

INSERT 
INTO new_table_2 
SELECT * 
FROM existing_table 
WHERE condition_for_table_2; 
0

Quassnoiからの答えは私が探していたものでした。 new_table_1が存在しない場合は、 "INSERT INTO"ステートメントを "CREATE TABLE"ステートメントに置き換える必要があることに注意してください。

関連する問題