【问题标题】:LOAD SQL Table from flat file从平面文件加载 SQL 表
【发布时间】:2008-09-29 10:49:28
【问题描述】:

我正在尝试从平面文件加载 SQL 表。我正在谈论的公寓是一个逗号分隔的文件。这具有填充表所需的所有数据,将每列用逗号“,”分隔。我需要一些方法来更快地将这些内容加载到表格中。

【问题讨论】:

    标签: sql sql-server-2005


    【解决方案1】:

    如果您使用的是 SQL Server,请使用 BULK INSERT

    如果你用的是Oracle,看我的回答here

    【讨论】:

    • 这确实有效....是否有任何类似的命令可以将其恢复到文件中...现在我正在执行选择 * 并保存结果。
    • 对于 SQL 服务器,有 bcp 实用程序,它创建一个您可以通过批量插入读取的文件。没有导出数据的TSQL命令
    【解决方案2】:

    无论您使用什么数据库管理系统,您都可以使用脚本语言(例如 perl 或 php)来建立与数据库的连接、解析文件,然后将数据插入到数据库中。当然,您必须了解一种脚本语言...

    【讨论】:

      【解决方案3】:

      使用 mysqldump?

      mysqldump -u username -p database_name < sql_file.sql
      

      【讨论】:

      • 我需要单独重新加载表,而不是整个数据库。
      • 这将重新加载表。需要 database_name 以便 mysqldump 知道您要重新加载的表属于哪个数据库。
      【解决方案4】:

      查看这些速度比较并确定最适合您的速度: http://weblogs.sqlteam.com/mladenp/archive/2006/07/22/10742.aspx

      【讨论】:

        【解决方案5】:

        对于 SQL Server 2005,另一个选项是集成服务 (SSIS);使用 SSIS,您将能够在导入过程中对数据做更多的工作(例如,在其他表中查找值、过滤掉行、导入多个表等)。

        【讨论】:

          【解决方案6】:

          这听起来有点过时,但我使用的编辑器可以为此类作品录制和重放宏。

          我为此使用 Textpad (www.textpad.com)(是的,我购买了许可证),您也可以使用 UltraEdit (www.ultraedit.com) 或其他熟悉的工具。就像启动 maro 记录器一样简单,编辑第一行使其与 SQL 兼容,转到下一行并停止记录器。然后让编辑器将宏重复到文件末尾。

          主要优点是:处理完文件后,您可以将其存储并进入您的版本控制。如果处理得当,它适用于每个可以执行包括 SQL 命令在内的文件的数据库(或工具)。

          【讨论】:

            猜你喜欢
            • 2019-07-19
            • 1970-01-01
            • 2017-03-10
            • 1970-01-01
            • 2019-11-27
            • 2020-11-17
            • 1970-01-01
            • 2023-04-07
            • 2015-10-03
            相关资源
            最近更新 更多