【发布时间】:2010-12-17 16:18:29
【问题描述】:
我有多个 CSV。它们都是从关系数据库中导出的。 现在每个 CSV 包含数千个条目,以及对由其他 CSV 文件表示的其他表的引用。
如何将这些文件导入新数据库?我应该创建一个新模型吗?
【问题讨论】:
标签: database csv import export import-from-excel
我有多个 CSV。它们都是从关系数据库中导出的。 现在每个 CSV 包含数千个条目,以及对由其他 CSV 文件表示的其他表的引用。
如何将这些文件导入新数据库?我应该创建一个新模型吗?
【问题讨论】:
标签: database csv import export import-from-excel
虽然一些 DBMS 会从导入的数据中推断(或尝试)架构,但将架构与数据加载本身分开处理可能更安全。
如果仍然可以访问 CSV 文件所在的数据库,您可以请求导出 SQL DDL 脚本,该脚本可用于在其他地方重新创建相同的 SQL 对象(表、索引...)。即使您打算更改架构中的一些内容,这也可以让您在新主机上启动架构。
如果没有此类架构可用,您可能需要通过单独导入这些表(或仅检查 CSV txt)来重新发现原始架构。作为提示,较小的表可能是首先加载的表,因为它们通常是查找表或行数较少的“标题”表,它们将与较大的表相关。
【讨论】:
如果没有循环依赖(表 A 引用 B 和 B 引用 A),则按依赖顺序组织它们并按该顺序导入它们。第一个表将是其他表所依赖的表,但它不依赖于其他表。
如果您有循环依赖项,您将不得不在导入所有数据时暂时禁用数据库中的参照完整性检查,然后重新启用它。 Oracle可以做到这一点,但我不知道MSSQL和MySQL。
【讨论】: