将Excel表导出到关系表MySQL
我的MySQL数据库中有以下表: 用户(ID、姓名、ID\u国家) 国家(ID、国家/地区名称) 在Excel中,我有如下表格:将Excel表导出到关系表MySQL,mysql,excel,export,Mysql,Excel,Export,我的MySQL数据库中有以下表: 用户(ID、姓名、ID\u国家) 国家(ID、国家/地区名称) 在Excel中,我有如下表格: ╔════╦═════════╦═══════════╗ ║ ID ║ Name ║ Country ║ ╠════╬═════════╬═══════════╣ ║ 1 ║ Yamashi ║ Japon ║ ║ 2 ║ Mary ║ Australie ║ ╚════╩═════════╩═══════════╝ 我在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
感谢您的快速回复,我将立即测试:)如果这对您有效,请确保回来投票/接受;)