将具有不同列名的 CSV 文件导入 MySQL
将 CSV 文件导入 MySQL 时,可能会遇到列名不同的情况CSV 文件中的内容与数据库表中的内容不同。这需要特定的方法来确保正确的数据映射。
加载数据 INFILE 语法
要将 CSV 文件加载到 MySQL 表中,可以使用 LOAD DATA INFILE陈述。如果您未在语句末尾指定列列表,则输入行应包含每个表列的字段。
自定义列映射
但是,当CSV文件中的列名与数据库中的列名不同时,您可以指定自定义列列表,将输入数据映射到正确的列。 LOAD DATA INFILE 语法允许您指定将哪个 CSV 列导入到哪个数据库列。
例如,考虑以下 CSV 文件,其中列名为“name”、“city”和“comments”:
<code class="csv">uniqName,uniqCity,uniqComments John,New York,Excellent programmer Jane,London,Great designer</code>
以下数据库表,其中列名为“name”、“location”和“skills”:
<code class="sql">CREATE TABLE tblUniq ( name VARCHAR(255), location VARCHAR(255), skills TEXT );</code>
将 CSV 文件导入到具有正确列的表中映射时,可以使用以下 LOAD DATA INFILE 语句:
<code class="sql">LOAD DATA LOCAL INFILE 'uniq.csv' INTO TABLE tblUniq FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (name, location, skills);</code>
通过在语句末尾指定列列表(名称、位置、技能),可以确保“uniqName”列中的CSV 文件导入到数据库中的“名称”列,将“uniqCity”列导入“位置”列,将“uniqComments”列导入“技能”列。
此方法允许您将具有不同列名的 CSV 文件导入 MySQL 表,确保数据正确映射,无需手动干预。
以上是如何使用自定义列名将 CSV 文件导入 MySQL的详细内容。更多信息请关注PHP中文网其他相关文章!