Php 或 mysql 命令 - 将 mysql 行中的数据写入文本文件

发布于 2024-07-30 18:44:51 字数 234 浏览 7 评论 0原文

如何从导出到文本文件的 mysql 表中的一行获取所有数据,但格式如下:

  • 一个字段在另一个字段下,每行一个
  • 我想将该数据分成几部分,然后在 file1.txt 中保存 50 行file2.txt 中的下一个 50 等等直到结束(它不是整数,所以最后一个文件可能会有更少的行)
  • 不要复制相同的条目/删除重复项

...使用 php 脚本或只是 mysql 控制台?

How do I get all data from one row from mysql table exported into text files, but formatted this way:

  • one field under another, one per line
  • i would like to break that data into pieces and save for example 50 lines in file1.txt then next 50 in file2.txt and so on until end (it's not round number so last file would have less lines probably)
  • don't copy identical entries / remove duplicates

...using php script or just mysql console?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

贪恋 2024-08-06 18:44:51

我可以使用命令行客户端这样做:

$ mysql --user=XXX --password=XXX --batch --skip-column-names \
  -e "SELECT userid, displayname FROM Users" stackoverflowdb | \
split -l 50 -a 5 - "result."

I might do it this way, using the command-line client:

$ mysql --user=XXX --password=XXX --batch --skip-column-names \
  -e "SELECT userid, displayname FROM Users" stackoverflowdb | \
split -l 50 -a 5 - "result."
另类 2024-08-06 18:44:51

我讨厌做别人的家庭作业/工作,但这太简单了。

    <?

    $row = mysql_fetch_array($rc);

    $nodupes = array();
    foreach ($row as $field)
    {
        $nodupes[$field] = $field;
    }

    $i = 1;
    $filenum = 0;
    $line = 50 ; // create new file ever 50 lines
            $text = "";
    foreach($nodupes as $field)
    {
        $i++;
        $text .= "$field\n";

        // to split into bite size peices
        if ($i % $line == 0)
        {
            $filenum++;
            $filename = "myfile_$filenum.txt";
            file_put_contents($filename,$text);
            $text = "";
        }
    }
    $filenum++;
    $filename = "myfile_$filenum.txt";
    file_put_contents($filename,$text);
    ?>

所以今天吃饭,改天学钓鱼!

I hate doing peoples homework/work, but this one is just too easy.

    <?

    $row = mysql_fetch_array($rc);

    $nodupes = array();
    foreach ($row as $field)
    {
        $nodupes[$field] = $field;
    }

    $i = 1;
    $filenum = 0;
    $line = 50 ; // create new file ever 50 lines
            $text = "";
    foreach($nodupes as $field)
    {
        $i++;
        $text .= "$field\n";

        // to split into bite size peices
        if ($i % $line == 0)
        {
            $filenum++;
            $filename = "myfile_$filenum.txt";
            file_put_contents($filename,$text);
            $text = "";
        }
    }
    $filenum++;
    $filename = "myfile_$filenum.txt";
    file_put_contents($filename,$text);
    ?>

So eat today, and learn to fish another day!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文