以修改后的格式将数据从SQL导出到CSV

时间:2019-06-11 13:02:09

标签: mysql sql csv

假设我在SQL中有一个名为“ myTable”的表。它包含3列; 'id','lat'和'lng'

|  id  |  lat   |  lng   |
|------+--------+--------|
|  1   |  1.11  |  1.22  |
|  2   |  2.11  |  2.22  |
|  3   |  3.11  |  3.22  |
|  4   |  4.11  |  4.22  |
| .... |  ....  |  ....  |

我想将其导出为CSV。我希望结果在CSV文件中变成这样:

|     |  A   |  B   |   C   |   D  |  ....
------+-----+------+--------+------+--------
|  1  | 1.11 | 2.11 | 3.11  | 4.11 |  ....      //contains 'lat'
|  2  | 1.22 | 2.22 | 3.22  | 4.22 |  ....      //contains 'lng'

你能帮我吗?我正在使用PHP。非常感谢。

1 个答案:

答案 0 :(得分:1)

这实际上可能是最好在PHP脚本而不是MySQL中处理的东西。假设您正在使用mysqli,则可以尝试执行以下操作:

$sql = "SELECT id, lat, lng FROM yourTable ORDER BY id";
$result = $conn->query($sql);

$row1 = NULL;
$row2 = NULL;

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        if ($row1 != NULL) {
            $row1 .= ",";
            $row2 .= ",";
        }
        $row1 .= $row["lat"];
        $row2 .= $row["lng"];
    }
}

在以上脚本中的循环结束时,$row1$row2应该包含您期望的输出文件的前两行。缺少的唯一步骤可能是标题(如果需要),以及如何将字符串写入文本文件的详细信息。