【问题标题】:Populate MySQL table from Text file从文本文件填充 MySQL 表
【发布时间】:2011-04-05 20:23:53
【问题描述】:

这应该很容易。我需要从文本文件中填充表格。基本上,我想在 linux shell 脚本中执行此操作。谢谢!!

例子:

  • MySQL 表

物品颜色形状大小

  • 文本文件

车蓝圆小

胡萝卜红方块大

苹果绿圆形中号

【问题讨论】:

    标签: mysql linux shell text


    【解决方案1】:

    您可以像这样运行查询:

    LOAD DATA INFILE 'data.txt' INTO TABLE yourTable
     FIELDS TERMINATED BY ' '
     LINES TERMINATED BY '\n'
    

    然后你只需要编写一个小的 shell 脚本来执行查询。

    编辑:

    完整的脚本可能如下所示:

    #!/bin/bash
    mysql databaseName<<EOFMYSQL
     LOAD DATA INFILE 'data.txt' INTO TABLE yourTable
      FIELDS TERMINATED BY ' '
      LINES TERMINATED BY '\n';
    EOFMYSQL
    

    脚本可以这样执行:

    chmod +x script.sh
    ./script.sh
    

    您可能会遇到用户问题,因为 shell 不直接处理 mysql。尝试研究如何在不登录的情况下执行 mysql。这应该是几乎任何 mysql 备份脚本的一部分:-)

    【讨论】:

    • 感谢 Ragnar123!完整的脚本看起来如何?
    • 是否可以使用 .txt.gz 输入“即时”执行此操作,避免将未压缩的 .txt 写入磁盘?
    • 我最终在我的脚本中创建了一个 ramdisk 并pigz -dc &gt; $ramdisk 我需要导入的文件。
    【解决方案2】:

    我建议查看 the LOAD DATA INFILE 文档,它应该可以让您从该格式导入数据,甚至无需编写脚本。

    【讨论】:

      【解决方案3】:

      查看LOAD DATA INFILE 语法。向 mysql 客户端二进制文件回显一个简单的查询应该可以做到。

      【讨论】:

        【解决方案4】:

        LOAD DATA INFILE 就是这样做的方式。考虑 csv 格式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-15
          • 2013-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多