大きなSQLファイルをcsvファイルに解析しようとしています。PHPでfreadを使用することを検討しましたが、SQLが行で区切られているかどうかわかりません... bc freadがデータをRAMにロードしているため、機能しないと想定しています。
SQLをcsvにすばやく変換するためのアイデアはありますか?(また、データベースがオンになっているのとは別のマシンで実行しているので、残念ながらcsvとしてエクスポートできません)。
「大」 - それはあなたにとって何を意味しますか。サーバー (マシン DB が実行されている) 上のファイルに保存し、圧縮/ダウンロードできます。
例:
SELECT name,lastname,age FROM profile
クエリは、mysql テーブルの 3 つの列を返します。ファイルへのリダイレクト/印刷の場合:
SELECT name,lastname,age FROM profile INTO OUTFILE '/tmp/userdata.txt'
これにより、上記のステートメントで渡されたファイルにデータが出力されます。CSV 形式でデータを出力するには、次のようにクエリにオプションを追加します。
SELECT name,lastname,age FROM profile INTO OUTFILE '/tmp/userdata.txt'
FIELDS enclosed by '"' separated by "," LINES TERMINATED BY '\n'
mysql をローカル マシンにインストールします。これで、SQL ファイルをインポートしてから、自由に csv または必要なものとしてエクスポートできます。