0

こんにちは皆さん、mysqldump について質問したいだけです。内部に値がない既存のmysqlテーブルにcsv値を挿入するにはどうすればよいですか? 2 つの列を含む .csv ファイルがあるためです。ID と NAME と私は 3 つの列を持つテーブルを持っています。1 つは自動インクリメントの ID、もう 1 つは brgy_name、最後は brgy_code です。私の csv では、ID 列の値を brgy_code に配置し、NAME 列の値を brgy_name に配置する必要があります。

Example:

"id","name"
"1001","Bangued"
"1002","Boliney"
"1003","Bucay"
"1004","Bucloc"
"1005","Daguioman"
"1006","Danglas"
"1007","Dolores"
"1008","La Paz"
"1009","Lacub"
"1010","Lagangilang"
"1011","Lagayan"
"1012","Langiden"
"1013","Licuan-Baay"
"1014","Luba"
"1015","Malibcong"
"1016","Manabo"
"1017","Penarrubia"
"1018","Pidigan"
"1019","Pilar"
"1020","Sallapadan"
"1021","San Isidro"
"1022","San Juan"
"1023","San Quintin"
"1024","Tayum"
"1025","Tineg"
"1026","Tubo"
"1027","Villaviciosa"
"1028","Butuan City"
"1029","Buenavista"
"1030","Cabadbaran"
"1031","Carmen"
.
.
.

私のテーブルには行がありません。これが私のテーブル構造です:

CREATE TABLE `ref_barangay` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `brgy_name` VARCHAR(50) NOT NULL,
    `brgy_code` VARCHAR(50) NOT NULL,
    PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;

私の問題は、csv ファイルを挿入する方法です。私の csv ファイルでは、列 ID は brgy_code です。

Here's the what i want to do:
id    brgy_name        brgy_code
1     Bangued          1001
2     Boliney          1002
.
.
.

それはすべての人ですどうすればそれを行うことができますか? mysql ダンプを使用したいのですが、どうすればよいですか?

4

1 に答える 1

1

試すLOAD DATA INFILE

LOAD DATA INFILE '/path/to/your/file.csv'
INTO TABLE ref_barangay
    FIELDS TERMINATED BY ',' 
           OPTIONALLY ENCLOSED BY '"'
    LINES  TERMINATED BY '\n' -- or \r\n
    IGNORE 1 LINES
(@code, @name)
 SET brgy_name = @name, brgy_code = @code

出力

mysql> ref_barangay から * を選択します。
+----+--------------+-----------+
| | ID | brgy_name | brgy_code |
+----+--------------+-----------+
| | 1 | バゲッド | バングエド 1001 |
| | 2 | ボリニー | 1002 |
| | 3 | ブカイ | ブカイ | 1003 |
| | 4 | ブクロク | 1004 |
...
于 2013-07-29T01:43:32.513 に答える