PostgreSQL(4)-PHPから接続-

PHPからPsotgresSQLを操作してみたいと思います。

試しにPHPでコードを作成して動作させてみましたが、動きませんでした。

ライブラリーが必要です。

下記コマンドを実行して、ライブラリーをインストールします。

sudo apt-get install php5-pgsql;

apache2のリスタートをします。

sudo service apache2 restart;

PHPからPostgresSQLを操作するコードが動作しました。


//pg_connectでデータベースと接続します。
$link = pg_connect("host=localhost dbname=samplesql user=samplesql password=samplesql");

if(!$link){
	//pg_last_errorでデータベースに接続けいなかった際のエラー情報を表示
	die('error.'.pg_last_error());
}else{
	print("connect success\n");
}

//pg_queryでPostgreSQLを操作
$str_sql = "select * from test";
$rs = pg_query($link, $str_sql);

//pg_fetch_assocで連想配列を1行ずつ取得
while($arr_record = pg_fetch_assoc($rs)){
	foreach($arr_record as $filed_name => $value){
		print "[{$filed_name}] = {$value}</br>\n";
	}
}

//pg_closeでデータベースとの接続を切断する
$close_flg = pg_close($link);

if($close_flg){
	print("close success\n");
}

参考書籍

今すぐ導入! PHP×PostgreSQLで作る最強Webシステム改訂版 [ 石井達夫 ]

PostgreSQL(3)-テーブルへの挿入・削除・表示-

前回、データベースの箱を作成しましたので、箱の中にテーブルを追加していこうと思います。

create table test (no integer, name varchar(20));

testという名前のテーブルをが作成されました。

下記コマンドでテーブル一覧を表示できます。

\d

また、testの()の中は列の情報となります。

no integerは、integer型のnoという名前の列となります。

name varchar(20)は、varchar型のnameという名前の列なります。

下記コマンドでテーブルの列の情報を表示できます。

\d test

テーブルに値を挿入します。

insert into test(no, name) values(1, 'aiueo');

テーブルに挿入した値を表示してみます。

select * from test;

テーブルに挿入した値が確認できると思います。

行を削除する場合は、下記のSQL言語を実行します。

delete from test WHERE no = 1;

列を挿入する場合は、下記のSQL言語を実行します。

alter table test add column detail varchar(100);

列を削除する場合は、下記のSQL言語を実行します。

alter table test drop column detail;

テーブルの列に制約をつける事もできます。

create table test (no int NOT NULL, name text);

下記のSQL言語は主キーの設定です。

alter table test add PRIMARY KEY(no);

参考書籍

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)