こんにちは。いつもブログをご覧いただきありがとうございます。
今回は「PostgreSQL(pgAdmin4)+Eclipseでデータベース・テーブル操作」を解説していきます。

・前半ではPostgreSQLのダウンロード・インストールについて解説します。
・後半ではpgAdmin4を使用してデータベース・テーブルの作成、Eclipseを使用してデータ操作方法について解説します。
構築予定の環境になります。
OS | Windows 10 Home(64ビット版) |
Java | Open JDK 11 |
IDE | Eclipse 2019-06 |
DB | PostgreSQL 11 |
RDBMS | pgAdmin 4 |
それでは、さっそく解説していきます。
MidWorks
は業界トップクラスの低マージンで多くのエンジニアから選ばれています。IT系フリーランス専門エージェントサービス第1位のMidWorks
の無料会員登録はこちらから!!
PostgreSQLのダウンロード
まずはPostgreSQLをダウンロードします。
公式サイト(https://www.postgresql.org/download)よりPostgreSQL ver11 をダウンロードします。

OS毎(Linux,macOS,Windows,他)にリンクが分かれています。
Windowsで使用するため、一番下のリンクを選択しましょう。

Windows installer画面に遷移したら「Download the installer」という文字がリンクになっています。
これを選択します。

ダウンロードするリンクがバージョン毎に分かれています。
今回は、バージョンは11.5を使用します。
そして、Windowsの64ビット版になるため「Windows x86-64」を選択します。
ダウンロードが完了したら「postgresql-11.5-2-windows-x64.exe」というファイルが保存されているはずです。
PostgreSQLのインストール
先ほど、ダウンロードした「postgresql-11.5-2-windows-x64.exe」を管理者として実行します。
Setup

インストールを開始する画面です。「Next」ボタンをクリックします。
Installation Directory

インストール格納場所を設定します。
デフォルトでは「C:\Program Files¥PostgreSQL\11」となっています。
ドライブの容量などを確認し、適切な場所にインストールしましょう。
Select Components

インストールする対象を選ぶことができます。
デフォルトでは全てチェックが付いています。
PostgreSQL Serverとpg Admin 4は必須です。
Stack BuilderとCommand Line Toolsは任意でチェックします。
Data Directory

インストール格納場所を「D:\PostgreSQL\11」としているのでそこにdataフォルダが付与していることが分かりますね。
Password

データベース接続時など、パスワードを求められる機会は少なからずあります。
忘れずに。。。
Port

デフォルトでは「5432」になります。
他プロセスのポート番号と被らないように設定する必要があります。
特に指定する必要がなければデフォルトのポート番号にしておきましょう。
Advanced Options

今回はサンプルのためにインストールするため、このまま(デフォルト)で進めます。
Pre Installation Summary

インストールする内容が表示されています。
問題がなければ、「Next」ボタンをクリックします。
Ready to Install

「Next」ボタンをクリックします。

インストール完了です(拍手)
pgAdmin4でデータベース作成
データベースからデータを使用するには以下の3つの作成が必要となります。
- サーバーの作成
- データベースの作成
- テーブルの作成
この3つの作成についてpgAdmin 4というGUIツールを使用していきます。
PostgreSQL11からpgAdmin4をクリックします。

pgAdminが起動したら、まずサーバーを作成していきます。

メニューの【Servers】を選択して右クリックします。そしてCreate ⇒ Serverをクリックします。

【General】タブよりName項目に任意の名前を入力していきます。今回は【sampleserver】と入力します。

次に【Connection】タブよりHost / Port / Username / Password を入力していきます。Hostの入力は、自分のパソコンで作業を行う場合は 127.0.0.1 や localhost と入力することで使用可能となります。入力が完了したら【Save】ボタンをクリックします。

サーバーを作成したら、次はデータベースを作成していきます。先ほど作成した「sampleserver」の【Databases】を右クリックします。Create ⇒ Database をクリックします。

【General】タブのDatabase項目に任意の名前を入力します。今回はデータベース名を「sampledb」と入力します。

sampledbが作成されたら下記のような構成になります。次にテーブルを作成していきます。
sampledb ⇒ Schemas ⇒ Tables にて右クリックします。その後、Create ⇒ Tableを選択します。

【General】タブのName項目に任意の名前を入力します。今回はテーブル名を「team_list」と入力します。

次は【Columns】タブにてカラムを追加していきます。追加が終わったら Save ボタンをクリックします。

テーブル(team_list)が作成できたら、データを追加していきましょう。先ほど作成した team_list で右クリックします。View/Edit Data ⇒ All Rows をクリックします。

任意に入力して、保存(コミット)します。

Eclipseからデータベースを操作(Select編)
データベース・テーブル作成、そしてデータ投入まで完了しました。
準備が整いましたので、テーブルに接続・データ取得するプログラムを作成していきます。
使用するサンプルプログラムはこちらになります。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sample {
public static void main ( String[] args ) {
// 接続文字列の設定
String url = "jdbc:postgresql://localhost:5432/sampledb" ;
String user = "postgres" ;
String password = "password" ;
// SELECT文の作成・実行
String sql = "SELECT * from team_list" ;
// PostgreSQLに接続
try (Connection con = DriverManager.getConnection ( url, user, password );
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery ( sql ); ) {
// 実行結果の取得
while ( result.next() ) {
String col1 = result.getString ( 1 ) ;
String col2 = result.getString ( 2 ) ;
String col3 = result.getString ( 3 ) ;
System.out.println ( col1 + " " + col2 + " " + col3 ) ;
}
} catch ( SQLException e ) {
e.printStackTrace() ;
}
}
}
実行結果は以下のようになります。先ほど作成したテーブルからデータを取得できていることがわかります。
1 チームA 沖縄県
2 チームB 東京都
3 チームC 大阪府

上記プログラムを簡単に説明しますね!
データベース操作を行う場合、下記3つのインタフェースを使用します。
インタフェース名 | 用途 |
java.sql.Connection | データベースへの接続 |
java.sql.Statement | 接続DBへの問い合わせ |
java.sql.ResultSet | 接続DBから該当する結果を取得 |
// PostgreSQLに接続
try (Connection con = DriverManager.getConnection ( url, user, password );
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery ( sql ); ) {
今回は、Java 7 からtry-with-resource文が導入されたため、tryブロック内に記述しています。
そのため、finallyブロックでクローズ処理などが不要になりました。
Eclipseからデータベースを操作(Insert編)
使用するサンプルプログラムはこちらになります。
以下のデータベース・テーブルに対してデータを登録します。
データベース名 | sampledb |
テーブル名 | team_list |
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Sample {
public static void main ( String[] args ) {
// 接続文字列の設定
String url = "jdbc:postgresql://localhost:5432/sampledb" ;
String user = "postgres" ;
String password = "password" ;
// SELECT文の作成・実行
String sql = "INSERT INTO team_list VALUES(?,?,?)" ;
// PostgreSQLに接続
try (Connection con = DriverManager.getConnection ( url, user, password ) ;
PreparedStatement pstmt = con.prepareStatement(sql); ) {
pstmt.setInt(1, 4);
pstmt.setString(2, "チームD");
pstmt.setString(3, "北海道");
int count = pstmt.executeUpdate();
System.out.println( count + "件 登録しました" );
} catch ( SQLException e ) {
e.printStackTrace() ;
}
}
}
Eclipseのコンソールタブに実行結果が表示されればOKですね!
1件 登録しました
pgAdmin上でも登録されていることを確認できました!

さいごに
最後まで読んでいただきありがとうございました。
今回はpgAdmin4を使用してデータベース・テーブルの作成、Eclipseを使用してデータ操作方法について解説しました。
アプリ・システム開発でデータベースの活用は必須になると思います。しっかりと基本をマスターしていきましょう!
MidWorks
は業界トップクラスの低マージンで多くのエンジニアから選ばれています。
IT系フリーランス専門エージェントサービス第1位の MidWorks の無料会員登録はこちらから!!