兩個步驟:
- 商店excel文件作爲CSV(Excel允許它)。
- 使用帶REPLACE關鍵字的LOAD DATA INFILE語句更新您的表格。
編輯:
關於更換關鍵字 - 從參考 - 如果你指定REPLACE,輸入行會替換現有行。換句話說,對於主鍵或唯一索引具有與現有行相同的值的行。
用法是相同的 -
LOAD DATA INFILE 'file_name' REPLACE INTO TABLE tbl_name FIELDS TERMINATED BY...
代碼
創建和填充表:
CREATE TABLE products(
products_model VARCHAR(6) NOT NULL,
products_price DECIMAL(5, 2) DEFAULT NULL,
PRIMARY KEY (products_model)
);
INSERT INTO products VALUES
('LB2307', 100.00),
('LB2380', 200.00),
('LB2468', 300.00);
讓我們從CSV導入數據: 指定FIELDS終止,LINES終止,其他PARAMATERS您的任務
LOAD DATA INFILE 'file_name.csv' REPLACE INTO TABLE products
FIELDS TERMINATED BY ' '
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(products_model, @var1)
SET products_price = IF(@var1 = '', 0, @var1); -- Replace empty string with 0
檢查結果:
SELECT * FROM products;
+----------------+----------------+
| products_model | products_price |
+----------------+----------------+
| LB1182 | 15.99 |
| LB2010 | 11.21 |
| LB2021 | 14.99 |
| LB2027 | 15.99 |
| LB2034 | 15.90 |
| LB2039 | 15.66 |
| LB2077 | 0.00 |
| LB2100 | 0.00 |
| LB2104 | 0.00 |
| LB2117 | 12.49 |
| LB2124 | 13.99 |
| LB2126 | 12.99 |
| LB2129 | 0.00 |
| LB2139 | 0.00 |
| LB2153 | 0.00 |
| LB2168 | 10.99 |
| LB2186 | 0.00 |
| LB2189 | 0.00 |
| LB2223 | 0.00 |
| LB2307 | 12.99 |
| LB2308 | 9.99 |
| LB2361 | 0.00 |
| LB2380 | 35.99 |
| LB2381 | 35.99 |
| LB2382 | 35.99 |
| LB2455 | 15.55 |
| LB2468 | 10.99 |
| LB2559 | 22.90 |
| LB2564 | 30.99 |
+----------------+----------------+
祝你好運!
對不起,我不知道如何使用LOAD DATA INFILE語句和REPLACE關鍵字t – dreamchaser
這很簡單。我編輯了答案。 – Devart
我很抱歉,我仍然不知道如何加載csv文件。我可以把你的命令在phpmyadmin。例如:csv命名爲product.csv。我該怎麼做?謝謝你 – dreamchaser