将Excel表导出到关系表MySQL

将Excel表导出到关系表MySQL,mysql,excel,export,Mysql,Excel,Export,我的MySQL数据库中有以下表: 用户(ID、姓名、ID\u国家) 国家(ID、国家/地区名称) 在Excel中,我有如下表格: ╔════╦═════════╦═══════════╗ ║ ID ║ Name ║ Country ║ ╠════╬═════════╬═══════════╣ ║ 1 ║ Yamashi ║ Japon ║ ║ 2 ║ Mary ║ Australie ║ ╚════╩═════════╩═══════════╝ 我在excel中有一

我的MySQL数据库中有以下表:

用户(ID、姓名、ID\u国家)

国家(ID、国家/地区名称)

在Excel中,我有如下表格:

╔════╦═════════╦═══════════╗
║ ID ║  Name   ║  Country  ║
╠════╬═════════╬═══════════╣
║  1 ║ Yamashi ║ Japon     ║
║  2 ║ Mary    ║ Australie ║
╚════╩═════════╩═══════════╝
我在excel中有一百行,我想将它们导出到MySQL,使用加载csv数据如果我在MySQL数据库和excel表中有相同的表,这将很简单。
那么最好的方法是什么呢?欢迎任何建议!谢谢。

首先将所有csv数据加载到新的临时sql(临时表(ID、名称、国家/地区))表中。然后,要填写国家表,请执行以下操作:

INSERT INTO Countries (country_name)
SELECT DISTINCT Country FROM temp_table
然后用以下查询填充用户表:

INSERT INTO User (ID,Name)
SELECT ID,Name FROM temp_table
最后,要在国家和用户之间建立关系,请执行以下操作:

UPDATE User,temp_table,Country SET ID_country = Countries.ID WHERE User.ID = temp_table.ID AND temp_table.Country = Countries.Country
如果一切正常,您现在可以安全地移除临时表

DROP TABLE temp_table

感谢您的快速回复,我将立即测试:)如果这对您有效,请确保回来投票/接受;)