라이브러리
[PHP] PdoPgsql::copyFromFile - 파일에서 테이블로 데이터 복사
PDO (PHP Data Objects) 는 PHP에서 데이터베이스와 상호작용하는 표준화된 방법을 제공합니다. PDO는 여러 데이터베이스 시스템을 지원하며, PostgreSQL을 포함합니다. PostgreSQL은 관계형 데이터베이스 관리 시스템 중 하나로, PHP에서 쉽게 사용할 수 있습니다.
PDO_PgSQL 클래스는 PostgreSQL과 상호작용하는 방법을 제공합니다. 이 클래스의 copyFromFile 메소드는 특정 파일의 내용을 PostgreSQL 테이블에 복사하는 데 사용할 수 있습니다.
PDO_PgSQL::copyFromFile 메소드
PDO_PgSQL::copyFromFile 메소드는 다음 형식의 인자를 받습니다.
#hostingforum.kr
php
copyFromFile(string $filename, string $table_name, array $options = array())
- `$filename`: 복사할 파일의 이름입니다.
- `$table_name`: PostgreSQL 테이블 이름입니다.
- `$options`: 옵션 배열입니다. (선택 사항)
옵션 배열
옵션 배열은 다음 항목을 포함할 수 있습니다.
- `null_on_empty_file`: 빈 파일일 때 NULL을 삽입하는지 여부입니다. 기본값은 FALSE입니다.
- `delimiter`: 필드별 구분자입니다. 기본값은 `,`입니다.
- `null_as`: NULL을 대체할 값입니다. 기본값은 ''입니다.
예제
다음 예제는 PDO_PgSQL::copyFromFile 메소드를 사용하여 파일의 내용을 PostgreSQL 테이블에 복사하는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// PostgreSQL 데이터베이스에 연결
$db = new PDO('pgsql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');
// copyFromFile 메소드 호출
$db->exec("COPY mytable (column1, column2) FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER");
// 결과 확인
$result = $db->query("SELECT * FROM mytable");
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
// 데이터베이스 연결 종료
$db = null;
?>
예제 2: 옵션 배열 사용
다음 예제는 PDO_PgSQL::copyFromFile 메소드를 사용하여 파일의 내용을 PostgreSQL 테이블에 복사하는 방법을 보여줍니다. 이 예제에서는 옵션 배열을 사용하여 NULL을 대체할 값을 지정합니다.
#hostingforum.kr
php
<?php
// PostgreSQL 데이터베이스에 연결
$db = new PDO('pgsql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');
// 옵션 배열 정의
$options = array(
'null_as' => 'N/A', // NULL을 대체할 값
'delimiter' => ',' // 필드별 구분자
);
// copyFromFile 메소드 호출
$db->exec("COPY mytable (column1, column2) FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER", $options);
// 결과 확인
$result = $db->query("SELECT * FROM mytable");
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
// 데이터베이스 연결 종료
$db = null;
?>
이 예제는 PDO_PgSQL::copyFromFile 메소드를 사용하여 파일의 내용을 PostgreSQL 테이블에 복사하는 방법을 보여줍니다. 이 예제에서는 옵션 배열을 사용하여 NULL을 대체할 값을 지정합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.