将数据从文本文件导入 MySQL 表时,文本文件中的转义字符 () 有什么用?
mysqlmysqli database更新于 2025/5/18 14:36:17
当我们想在字段的值之间插入逗号或任何其他字符时,转义字符 (\) 的使用将变得非常重要。可以借助示例来理解。假设我们想将包含以下数据的文本文件 A.txt 中的数据导入 MySQL 表 −
id, Name, Country, Salary 105, Chum, Marsh,USA, 11000 106, Danny, Harrison,AUS, 12000
在这里,我们可以看到文件名称有两个值,名字和姓氏,中间用逗号分隔。现在,以下查询将上述文本文件"A.txt"中的数据导入到"employee4_tbl"中 −
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee4_tbl FIELDS TERMINATED BY ',' IGNORE 1 ROWS; Query OK, 2 rows affected, 4 warnings (0.05 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 4
我们可以看到,将"A.txt"中的数据导入到表中时,出现了 4 条警告。以下查询将显示表中已插入的内容 −
mysql> Select * from employee4_tbl; +------+---------+----------+--------+ | Id | Name | Country | Salary | +------+---------+----------+--------+ | 105 | Chum | Marsh | 0 | | 106 | Danny | Harrison | 0 | +------+---------+----------+--------+ 2 rows in set (0.00 sec)
上述结果集显示,MySQL 将字段"name"的值"lastname"预测为字段"Country"的值。
可以通过在文本文件中放置转义字符来解决上述问题,如下所示 −
id, Name, Country, Salary 105, Chum\, Marsh,USA, 11000 106, Danny\, Harrison,AUS, 12000
现在,借助以下查询将此文本文件导入 MySQL 表 −
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee5_tbl FIELDS TERMINATED BY ',' IGNORE 1 ROWS; Query OK, 2 rows affected (0.03 sec) Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
我们可以看到,没有出现上述查询中出现的警告。现在,借助以下查询,我们可以看到已导入的内容 −
mysql> Select * from employee5_tbl; +------+----------------+----------+--------+ | Id | Name | Country | Salary | +------+----------------+----------+--------+ | 105 | Chum,Marsh | USA | 11000 | | 106 | Danny,Harrison | AUS | 12000 | +------+----------------+----------+--------+ 2 rows in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/
打印
下一节:如何将默认 MySQL 数据库更改为给定数据库? ❯❮ 上一节:在将数据从文本文件导入 MySQL 表时,如果我们在文本文件中使用除反斜杠 () 之外的任何其他转义字符,MySQL 将如何评估?

