2016-09-20 5 views
1

LOAD DATAコマンドを使用してファイルからテーブルにデータをロードする必要があります。次のようにファイルからテーブルにデータをロードする

1 "MARCA"#"MODELO"#"MATRICULA"#PRECIO 
    2 "CITROEN"#"PICASSA"#"CPG-2044"#12000 
    3 "CITROEN"#"PICASSA"#"CPR-1762"#12500 
    4 "CITROEN"#"C4"#"FPP-1464"#13500 
    5 "CITROEN"#"C4"#"FDR-4563"#13000 
    6 "CITROEN"#"C3"#"BDF-8856"#8000 
    7 "CITROEN"#"C3"#"BPZ-7878"#7500 
    8 "CITROEN"#"C2"#"CDR-1515"#5000 
    9 "CITROEN"#"C2"#"BCC-3434"#4500 

さて、私の最初のテーブルが構築されています: は、私は次のようになりますtxtファイル持って

mysql> show columns from MARCAS; 
+----------+-------------+------+-----+---------+----------------+ 
| Field | Type  | Null | Key | Default | Extra   | 
+----------+-------------+------+-----+---------+----------------+ 
| ID_MARCA | int(11)  | NO | PRI | NULL | auto_increment | 
| MARCA | varchar(50) | YES |  | NULL |    | 
+----------+-------------+------+-----+---------+----------------+ 

を今、私は実際にデータをインポートする方法を知っているドント部分的に(私は何をする必要があるかのようにすると、ちょうど私が思い付いたことはある最初の「列」をロードします。

load data local infile /myfile.txt 
into table MARCAS 
fields terminated by '#' 
lines terminated by '\n'; 

ちょうど()、端末を一時停止のほかに何もしないことを ヘルどうですか?

答えて

1

また、テーブルの列に変数を割り当てる 変数ではなく、それをユーザーに割り当てることで、入力値を破棄することができます ソース:http://dev.mysql.com/doc/refman/5.7/en/load-data.html

load data local infile '/myfile.txt' 
into table MARCAS 
fields terminated by '#' 
lines terminated by '\n' 
(ID_MARCA, MARCA, @ignore1, @ignore2, @ignore3); 

脚注:
あなたのクエリをカラム名が大文字でsqlキーワードが小文字であるという点で最も珍しいです。いつものことは、それを逆にすることです!

あなたはあなたのmysqlコンソールが停止していると言いましたが、私はこのクエリが入力された後に戻るまでに時間がかかることを意味していると思います。行数が多い場合は、それに珍しいことはありません。

+0

ありがとう、それは私の質問に答える。しかし、私はまだ構文エラーが発生しました 'フィールドは' BY 'によって閉じられました' '' 'LINES TERMINATED BY' \ n 'STARTED BY' ''ビットと私のコードで何が間違っているか見ることができません。 – CNB

+1

ごめんなさい小さな間違い。 – e4c5

関連する問題