匯入文字檔案到MySQL表格時,如何上傳列的更改值,而不是文字檔案中寫入的值?
假設我們想要上傳更改後的值,而不是文字檔案中寫入的值,則需要使用使用者變數以及SET命令。可以透過以下示例來理解:
示例
假設‘A.txt’檔案中包含以下資料:
105,Chum,USA,11000 106,Danny,AUS,12000
但是,我們希望在匯入時將薪資值增加500後上傳,而無需更改文字檔案中薪資的值,則可以使用使用者變數以及SET選項,透過以下查詢來實現:
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee11_tbl FIELDS TERMINATED BY ',' (id,name,country,@salary) SET salary = @salary + 500; Query OK, 2 rows affected (0.21 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 mysql> Select * from employee11_tbl; +------+----------------+----------+--------+ | Id | Name | Country | Salary | +------+----------------+----------+--------+ | 105 | Chum | USA | 11500 | | 106 | Danny | AUS | 12500 | +------+----------------+----------+--------+ 2 rows in set (0.00 sec)
從以上結果集可以看出,MySQL在將薪資值增加500後,將資料上傳到表中。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP