Два шага:
- Сохранение файла Excel в формате CSV (Excel позволяет это).
- Использование LOAD DATA INFILE с ключевым словом REPLACE для обновления таблицы.
Редактировать:
О ключевом слове REPLACE - из ссылки - Если указать 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: Укажите ПОЛЯ, ПРЕКРАЩЕННЫЕ, ЛИНИИ ПРЕКРАЩЕННЫЕ и другие параметры для вашей задачи
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 |
+----------------+----------------+
Удачи!