在将文本文件导入 MySQL 表时,如何上传列的更改值,而不是写入文本文件?

admin 阅读:104 2024-08-07

在将文本文件导入 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是在salary的值上加上500之后将数据上传到表中的。

声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!