在将文本文件导入 MySQL 表时,如何上传列的更改值,而不是写入文本文件?
短信预约 -IT技能 免费直播动态提醒
假设如果我们想要上传更改后的值而不是文本文件中写入的值,那么我们需要将用户变量与 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之后将数据上传到表中的。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341