mysql - 将 Excel 表导出到关系表 MySQL

标签 mysql excel export

我的 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/

相关文章:

php - 从MySQL中检索两级分层数据的最佳方法

MySQL 一个表中的两个字段从附加表中选择两个结果行?

SQL 导入/导出向导不允许创建表 #temp

c# - 如何导出 C# 方法?

mysql - 不同列的sql求和

java - 连接池上的 MySql 连接无法恢复

excel - 是否可以将excel中的命令按钮限制/锁定为每周仅使用一次?

python - win32com Excel.Application 无法再打开文档

excel - 我怎样才能优化这个公式

java - 如何将 JPanel 高级转换为pdf