このパターンに従う CSV ファイルがあります。
cust_id,cust_name,cust_add_1,cust_add_2,cust_city,cust_state,cust_zip,cust_email
100024,BALE #DIANA & ROY,2944 SOME RD, ,AKRON,OH,44556,an@other.net
100139,SMITH #JOHN & LINDA,1569 ANOTHER WAY, ,SARASOTA,FL,65478,
100263,DOLE #BOB,5947 LONG RD, ,GRANITE FALLS,NC,12345,
.
.
. continued
このファイルは何千行ものデータを表し、そのすべてを MySQL テーブルに挿入しようとしています。次のステートメントで対応するテーブルを作成しました。
CREATE TABLE customer (
cust_id INT(7) NOT NULL,
cust_name VARCHAR(40) NOT NULL,
cust_add_1 VARCHAR(50) NOT NULL,
cust_add_2 VARCHAR(50),
cust_city VARCHAR(20) NOT NULL,
cust_state CHAR(2) NOT NULL,
cust_zip INT(5) NOT NULL,
cust_email VARCHAR(60),
PRIMARY KEY (cust_id)
);
次に、コマンドラインで次のことを試しました。
msyqlimport -u root --local csv_import ~/path/to/customer.csv
mysqlimport を実行した後に試してみるとSELECT * FROM customer
、次の結果セットが表示されました。
+---------+-----------+------------+------------+-----------+------------+----------+------------+
| cust_id | cust_name | cust_add_1 | cust_add_2 | cust_city | cust_state | cust_zip | cust_email |
+---------+-----------+------------+------------+-----------+------------+----------+------------+
| 0 | | | NULL | | | | NULL |
+---------+-----------+------------+------------+-----------+------------+----------+------------+
1 row in set (0.00 sec)
私は、CSV データを MySQL にインポートする分野ではあまり経験がありません。助けていただければ幸いです。
アップデート
ThisSuitIsBlackNot の回答に従って、次のコマンドを試しました (ところで、--local
オプションが必要です)。
mysqlimport -u root --local --fields-terminated-by=',' --fields-optionally-enclosed-by='"' --lines-terminated-by='\n' csv_import ~/path/to/customer.csv
これにより、わずかに良い結果が得られましたが、必要なものではなかったので、次のように試しました。
mysql> LOAD DATA LOCAL INFILE '~/path/to/customer.csv'
-> INTO TABLE customer
-> FIELDS TERMINATED BY ','
-> OPTIONALLY ENCLOSED BY '"'
-> LINES TERMINATED BY '\n';
これらの両方の後、次のSELECT * FROM customer
結果セットが生成されました。
+---------+-----------+------------+------------+-----------+------------+----------+-------------------+
| cust_id | cust_name | cust_add_1 | cust_add_2 | cust_city | cust_state | cust_zip | cust_email |
+---------+-----------+------------+------------+-----------+------------+----------+-------------------+
100024 |0 | cust_name | cust_add_1 | cust_add_2 | cust_city | cu | cust_ | cust_email
+---------+-----------+------------+------------+-----------+------------+----------+-------------------+
1 row in set (0.00 sec)
これは明らかに私が必要としているものではありませんが、近づいています。