在将文本文件导入 MySQL 表时,如何上传列的更改值(而不是写入文本文件)?
mysqlmysqli database更新于 2025/5/19 3:56:17
假设我们想上传更改的值而不是写入文本文件中的值,那么我们需要使用用户变量和 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之后,才将数据上传到表中。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/
打印
下一节:如何使用 MySQL 函数在删除原始字符串中的字符后在字符串中插入新字符串? ❯❮ 上一节:如何使用带有'FIELDS TERMINATED BY'选项的 MySQL LOAD DATA INFILE 语句将数据从文本文件导入 MySQL 表?

