ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

psqlプログラムサンプル集

 psqlを使って、データベースをアクセスするサンプルプログラムです。 データベースは、PostgreSQLを使っています。

シェルで、psqlを使ってSQLを実行する方法

パラメータで渡す方法

 実行するSQL文が1つの場合は、psqlの-cオプションで、指定することができます。

psql -q -c'SQL文' データベース名

標準入力で渡す方法

 実行するSQL文が複数の場合は、標準入力などを使って、SQL文を指定します。
 ファイルで指定するより、実行速度が速くなります。 また、SQL文を1つのシェルファイルで管理できるメリットもあります。

psql -q データベース名 <<_EOD
SQL文1;
SQL文2;
SQL文3;
__EOD

ファイルで渡す方法

 ファイルに格納されたSQL文を実行することもできます。

psql -q -f SQLファイル名 データベース名

Perlで、psqlを使ってSQLを実行する方法

パラメータで渡す方法

 実行するSQL文($sql)が1つの場合は、psqlの-cオプションで、指定することができます。

system ('psql', '-q', '-c', $sql, $dbname);

パイプで渡す方法

 実行するSQL文が複数の場合は、パイプなどを使って、SQL文($sql)を指定します。 この方法は、print文でSQL文を出力するため、条件分岐処理や、繰り返し処理の中でも利用できます。

open (SIN, "| psql -q $dbname");
print SIN "$sql\n";
close SIN;

ファイルで渡す方法

 ファイル($sqlfile)に格納されたSQL文を実行することもできます。

system ("psql -q -f $sqlfile $dbname");


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp