Pdo\Pgsql::copyToFile
テーブルのデータをファイルにコピーする
説明
public bool Pdo\Pgsql::copyToFile(
string $tableName,
string $filename,
string $separator = "\t",
string $nullAs = "\\\\N",
stringnull $fields = null
)
filename で指定されたファイルに、テーブルからデータをコピーします。
その際、separator をフィールドのデリミタ、そして
fields のリストを使います。
パラメータ
-
tableName
-
テーブル名を含む文字列
-
filename
-
エキスポートするファイル名
-
separator
-
rows 配列の各要素の中で
フィールドを分割するためのデリミタ
-
nullAs
-
SQLの
NULL 値をどのように扱うかを指定します
-
fields
-
エクスポートするフィールドの一覧
戻り値
成功した場合に true を、失敗した場合に false を返します。
エラー / 例外
filename を書き込み用に開けない場合や書き込めない場合、
その失敗は接続のエラー処理(PDO::ATTR_ERRMODE を参照)を通じて報告されます。
PDO::ERRMODE_EXCEPTION の場合は
PDOException がスローされます。
例
例1 Pdo\Pgsql::copyToFile の例
テーブルが filename に書き出されます。
各行が 1 つのレコードであり、そのフィールドは separator で連結されています。
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');
$db->exec("INSERT INTO fruits VALUES (1, 'apple', 10), (2, 'banana', 20)");
$db->copyToFile('fruits', '/tmp/fruits.tsv');
echo file_get_contents('/tmp/fruits.tsv');
?>
参考
- Pdo\Pgsql::copyFromFile
- Pdo\Pgsql::copyFromArray
- Pdo\Pgsql::copyToArray