我在MySQL数据库中有这些表:
用户(ID,名称,ID_country)
国家/地区(ID,country_name)
在Excel中,我就像这张表一样:
╔════╦═════════╦═══════════╗
║ ID ║ Name ║ Country ║
╠════╬═════════╬═══════════╣
║ 1 ║ Yamashi ║ Japon ║
║ 2 ║ Mary ║ Australie ║
╚════╩═════════╩═══════════╝
我在excel中有一百行,我想将它们导出到MySQL中,使用加载csv数据如果我在MySQL数据库和Excel表中有相同的表,那将很简单。 那么最好的方法是什么?任何的建议都受欢迎!感谢。
答案 0 :(得分:1)
首先将所有csv数据加载到新的临时sql( temp_table (ID,Name,Country))表中。然后填写国家表执行此:
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
如果一切正常,您现在可以安全地删除temp_table
DROP TABLE temp_table