我的 MySQL 数据库中有这些表:
User ( ID, Name, ID_country )
Countries (ID, country_name )
在 Excel 中我有这样的表格:
╔════╦═════════╦═══════════╗
║ ID ║ Name ║ Country ║
╠════╬═════════╬═══════════╣
║ 1 ║ Yamashi ║ Japon ║
║ 2 ║ Mary ║ Australie ║
╚════╩═════════╩═══════════╝
我在Excel中有一百行,我想将它们导出到MySQL,使用加载csv数据,如果我在MySQL数据库和Excel表中有相同的表,那就很简单了。 那么最好的方法是什么?任何的建议都受欢迎!谢谢。
最佳答案
首先将所有 csv 数据加载到新的临时 SQL (temp_table (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
如果一切正常,您现在可以安全地删除 temp_table
DROP TABLE temp_table
关于mysql - 将 Excel 表导出到关系表 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830065/