PostgreSQLではじめるDB入門 DBの基礎から設計の考え方、実践で役立つ知識などを図解を用いてわかりやすく解説しています。さらにPostgreSQLによりサンプルを交えながらSQLを使いこなすために必要な知識をまとめています。 2018-02-04T05:24:53Z http://db-study.com/feed/atom WordPress admin <![CDATA[テーブルの削除(DROP TABLE)]]> http://db-study.com/?p=257 2016-05-28T12:47:22Z 2016-06-04T00:31:24Z 前回はDELETEコマンドで行(レコード)を削除しましたが、今回はテーブル自体を削除するDROP TABLEコマンドについて見ていきます。

DROP TABLEコマンド

DROP TABLEコマンドによりテーブルを削除します。構文も単純であり、削除するテーブル名を指定するのみです。

DROP TABLEコマンドの基本構文
DROP TABLE テーブル名;

では、実際にテーブルを削除してみましょう。その前に、データベース内に存在するテーブルを確認しておきます。

testdb=# \d
              リレーションの一覧
 スキーマ |    名前     |    型    |  所有者
----------+-------------+----------+----------
 public   | staff       | テーブル | postgres
 public   | testTable01 | テーブル | postgres
(2 行)

現状は2つのテーブルがあることが確認できます。ではそのうちのStaffテーブルを削除してみましょう。

testdb=# DROP TABLE staff;

DROP TABLEコマンド発行後、正しくテーブルが削除されたかどうか確認してみます。

testdb=# \d
              リレーションの一覧
 スキーマ |    名前     |    型    |  所有者
----------+-------------+----------+----------
 public   | testTable01 | テーブル | postgres
(1 行)

このようにテーブルの削除は非常に簡単です。ただし、「間違えて削除してはいけないテーブルを削除してしまった」とDROP TABLEコマンド発行後に気がついても、もう元には戻せません。

例えば、本番稼働中のシステムのテーブルを誤って削除してしまったといった場合、直後に惨劇が訪れます。データベースはあらゆるシステムの根幹です。DROP TABLEコマンドを使用する場合は十分に注意するよう心がけて下さい。

]]>
0
admin <![CDATA[データの削除(DELETE)]]> http://db-study.com/?p=252 2016-05-28T12:30:40Z 2016-06-03T21:22:25Z INSERTコマンドで登録したデータを削除するにはDELETEコマンドを使用します。

DELETEコマンド

DELETEコマンドにより、テーブルのデータを削除することができます。基本的な構文は以下になります。

DELETEコマンドの基本構文
DELETE FROM テーブル名 WHERE 条件式;

DELETEコマンドで削除するのは行(レコード)単位です。例えば、一部の列だけを削除すると言ったことはできません。

では、実際にDELETEコマンドを発行してデータを削除してみましょう。

testdb=# DELETE FROM Staff WHERE id='0002';

WHERE句で削除する対象の行を指定します。上記例では、id列が「0002」の行を削除しています。

では、id列「0002」の行が削除されているかどうか、SELECTコマンドで確認してみます。

testdb=# SELECT * FROM Staff;
  id  |    name    | age
------+------------+-----
 0001 | 山田太郎   |  46
 0003 | 斉藤達弘   |  46
 0004 | 桜井さつき |  46
(3 行)

対象行は存在せず、正しく削除されていることが確認できます。

全行を削除する

UPDATEコマンドと同じく、WHERE句の指定がないとテーブル内の全ての行が削除されます。

例えば、以下のDELETEコマンドを発行してみましょう。

testdb=# DELETE FROM Staff;

上記コマンド発行後、SELECTコマンドでデータを確認すると、データが1件も登録されていないことがわかります。

testdb=# SELECT * FROM Staff;
 id | name | age
----+------+-----
(0 行)

意図して、全行削除する場合は良いですが、WHERE句の記述を忘れて誤って全てのデータを削除してしまったということにならないよう十分に注意しましょう。本番稼働中のシステムでこのようなミスをしてしまっては目も当てられません。

UPDATEやDELETEコマンドはある意味、危険なコマンドであるということを念頭に置いておくことが大切です。

]]>
0
admin <![CDATA[データの更新(UPDATE)]]> http://db-study.com/?p=249 2016-05-28T12:21:32Z 2016-06-03T11:52:09Z INSERTコマンドで登録したデータを変更(更新)するにはUPDATEコマンドを使用します。

UPDATEコマンド

UPDATEコマンドにより、テーブルのデータを変更することができます。基本的な構文は以下になります。

UPDATEコマンドの基本構文
UPDATE テーブル名 SET 列名 = 式 WHERE 条件式;

更新対象の列と、更新後の値は、SET句で指定します。また、更新対象の行はWHERE句で指定します。

例えば、渡辺さんが結婚して苗字が「桜井」に変わったとします。その場合は、以下のようなUPDATEコマンドを発行して、渡辺さんの名前を変更します。

testdb=# UPDATE Staff SET name = '桜井さつき' WHERE id='0004';

次に、name列が正しく変更されたかどうかSELECTコマンドで確認してみます。

testdb=# SELECT * FROM Staff;
  id  |    name    | age
------+------------+-----
 0001 | 山田太郎   |  26
 0002 | 佐藤隆     |  34
 0003 | 斉藤達弘   |  45
 0004 | 桜井さつき |  28
(4 行)

正しく変更されているのが確認できます。

全行を更新する

更新対象の行を指定するのはWHERE句ですが、WHERE句を記述しないことで、全行を更新対象とすることになります。

例えば、以下のUPDATEコマンドを発行してみましょう。

testdb=# UPDATE Staff SET age = 46;

変更後、全行をSELECTコマンドで確認すると以下のような結果になります。

testdb=# SELECT * FROM Staff;
  id  |    name    | age
------+------------+-----
 0001 | 山田太郎   |  46
 0002 | 佐藤隆     |  46
 0003 | 斉藤達弘   |  46
 0004 | 桜井さつき |  46
(4 行)

すべての行のage列が更新されています。基本的に、全行に対して同じ値で更新するようなケースはめずらしく、大抵がWHERE句の記述を忘れたなどの操作ミスにより、誤って更新してしまったというパターンとなるでしょう。

WHERE句を指定しないとテーブル内のすべての行のデータが更新されてしまうという点に十分注意しておきましょう。

]]>
0
admin <![CDATA[データの検索(SELECT)]]> http://db-study.com/?p=243 2016-05-28T11:52:05Z 2016-06-03T11:44:53Z テーブルに格納されているデータを検索するにはSELECTコマンドを使用します。データベースを使用する最大のメリットは大量のデータの中から対象のデータを瞬時に検索できる点です。そのため、検索に使用するSELECTコマンドはSQLの中で最もよく使われるコマンドです。SELECT文をマスターすることはSQLをマスターすることにつながるといっても過言ではないでしょう。

SELECTコマンド

SELECTコマンドで必要なデータを検索し、取り出すことができます。また、そのことを「問い合わせ」あるいは「クエリ(query)」と呼ぶこともあります。

SELECTコマンドは構文が数多くあり、かなり複雑です。ここでは基本的な構文のみ見ていきます。

SELECTコマンドの基本構文
SELECT 列名, … FROM テーブル名;

SELECTコマンドには、SELECT句とFROM句という2つの句があります。
※句はSQL文を構成する要素であり、SELECTやFROMなどのキーワードから始まるフレーズのことです。

SELECT句には、テーブルから取り出したい列名を書き並べます。また、FROM句には、データを取り出すテーブル名を指定します。

では早速、Staffテーブルから前回登録したデータを取り出してみましょう。

testdb=# SELECT name FROM Staff;
    name
------------
 山田太郎
 佐藤隆
 斉藤達弘
 渡辺さつき
(4 行)

上記のように、全ての行のname列が表示されます。

すべての列を表示する

上記サンプルでは、出力したい列名を指定していましたが、すべての列を出力したいときには、すべての列を意味するアスタリスク(*)を使用できます。

testdb=# SELECT * FROM Staff;
  id  |    name    | age
------+------------+-----
 0001 | 山田太郎   |  26
 0002 | 佐藤隆     |  34
 0003 | 斉藤達弘   |  45
 0004 | 渡辺さつき |  28
(4 行)

上記のように、全ての行の全ての列が表示されます。
アスタリスクを使用した場合の注意点として、結果の列の並びを指定することはできなくなります。必ず、CREATE TABLEコマンドで定義した列の順番で表示されます。

]]>
0
admin <![CDATA[データの挿入(INSERT)]]> http://db-study.com/?p=238 2016-05-28T11:42:43Z 2016-06-02T11:29:24Z 前回作成したStaffテーブルへデータを登録していきます。

まず、Staffテーブルの定義を確認しましょう。Staffテーブルは以下の列を持ちます。

列名 データ型 制約
id INTEGER PRIMARY KEY
name TEXT NOT NULL
age INTEGER なし

INSERTコマンド

テーブルへのデータ登録はINSERTコマンドで行います。

INSERTコマンドの基本構文
INSERT INTO テーブル名 [(列名1 [, 列名2 …] )] VALUES (値1 [, 値2 …] );

列名1に値1、列名2に値2がセットされます。列と値の数は一致させる必要があり、不一致の場合はエラーとなり挿入に失敗します。また、データ型も一致させる必要があります。例えば、INTEGER型の列に文字列をセットしようとしてもエラーとなります。

列名を省略することもできます。ただし、省略すると、VALUES句にはテーブルの全ての列にセットする値を指定してやる必要があります。

では、実際にINSERTコマンドを発行してデータを登録してみましょう。

testdb=# INSERT INTO Staff (id, name, age) VALUES ('0001', '山田太郎', 26);
testdb=# INSERT INTO Staff (id, name, age) VALUES ('0002', '佐藤隆', 34);
testdb=# INSERT INTO Staff (id, name, age) VALUES ('0003', '斉藤達弘', 45);

列名を省略した場合は以下のように記述します。

testdb=# INSERT INTO Staff VALUES ('0004', '渡辺さつき', 28);

VALUES句内に指定する値の順序は、テーブルの定義時に指定した列の順序で指定します。データ登録時に、全ての列にデータをセットする必要がある場合は、このように省略しても構いません。

]]>
0
admin <![CDATA[テーブルの作成(CREATE TABLE)]]> http://db-study.com/?p=233 2018-02-04T05:24:53Z 2016-06-01T10:36:45Z 今回からはpsqlを利用して実際にSQLコマンドを発行していきます。

まずは、データの入れ物であるテーブルを作成します。

CREATE TABLEコマンド

テーブルの作成はCREATE TABLEコマンドで行います。

CREATE TABLEコマンドの基本構文
CREATE TABLE テーブル名 (列名 データ型 制約 [, 列名 データ型 制約 …] );
   :
[表制約]
※[]内の数は不定

()内は列名とデータ型、その列の制約で1セットとなり、定義する列の分だけ、カンマ(,)区切りで指定します。列名とデータ型の定義は必須であり、制約は必要に応じて任意に設定します。

列に指定する制約として以下の項目があります。

PRIMARY KEY 主キーとする。
UNIQUE 列内で重複する値を許可しない。
REFERENCES 表名(列名) 外部キーとする。参照先は指定した表名(列名)となる。
CHECK(条件) 条件に合う値のみ登録を許可する。
NOT NULL NULL値(空の値)を許可しない。
DEFAULT 値 新規行追加時の初期値を指定する。

上記は列ごとに制約を指定していますが、以下の制約については表全体の制約として指定することができます。

PRIMARY KEY(列名リスト) 指定した列(複合キーの場合は列1、列2…と列挙)を主キーとする。
UNIQUE(列名リスト) 指定した列内で重複する値を許可しない。
FOREIGN KEY(列名リスト) REFERENCES 表名(列名リスト) 指定した列(複数列を参照する場合は列1、列2…と列挙)を外部キーとする。参照先は指定した表名(列名)となる。

特に複数の列を使って主キーとする複合キーなどは、列ごとに設定することができないため、この表制約にて設定を行うことになります。

ここではサンプルとして以下の列を持つStaffテーブルを作成します。

列名 データ型 制約
id INTEGER PRIMARY KEY
name TEXT NOT NULL
age INTEGER なし

スタッフの名簿情報を格納するテーブルです。列には「id」「name」「age」を持ち、それぞれ、ID、名前、年齢を格納します。データ型はそれぞれ数字、文字列、数字とします。

また、各列の制約として、「id」にはPRIMARY KEY(主キー)制約を持たせます。PRIMARY KEY制約は、列内で重複する値の格納を許可せず、かつ、必ずデータを格納しなければならないという制約です。

「name」には必ずデータを格納しなければならないことを示すNOT NULL制約を持たせます。

では、実際にCREATE TABLEコマンドを発行してテーブルを作成してみましょう。今回発行するSQL文は以下になります。

CREATE TABLE Staff
(id    CHAR(4)    NOT NULL,
name   TEXT       NOT NULL,
age    INTEGER    ,
PRIMARY KEY (id));

まず、PostgreSQLに接続します。本サンプルでは接続先のデータベースとして「testdb」を指定しています。データベースの作成については「サンプルデータベースの作成」を参照してください。

# su - postgres
$ psql -U postgres testdb

「testdb」に接続できたら、上記のCREATE TABLEコマンドを発行し、Staffテーブルを作成します。SQL文は1行で実行しても構いませんが、見やすいよう以下のように複数行に分けて実行します。

testdb=# CREATE TABLE Staff
testdb-# (id    CHAR(4)    NOT NULL,
testdb(# name   TEXT       NOT NULL,
testdb(# age    INTEGER    ,
testdb(# PRIMARY KEY (id));

2行目以降は、プロンプトが「=#」から「-#」や「(#」に変わっていることに着目してください。これは、まだSQLが終わっていないことを示しており、セミコロンを入力し、Enterキーを押すことで、ここまでの入力した内容がひとつのSQL文として見なされ実行されます。

では、テーブルが作成されたかどうかをバックスラッシュコマンドで確認してみましょう。

testdb=# \d
              リレーションの一覧
 スキーマ |    名前     |    型    |  所有者
----------+-------------+----------+----------
 public   | staff       | テーブル | postgres
 public   | testTable01 | テーブル | postgres
(2 行)

Staffテーブルが一覧から確認できます。これでテーブルは作成されました。次回は今回作成したテーブルにデータを挿入するSQLについて見ていきます。

]]>
0
admin <![CDATA[psqlからPostgreSQLへ接続する]]> http://db-study.com/?p=225 2016-05-28T10:36:42Z 2016-05-30T10:16:42Z PostgreSQLに対してSQLを実行する手段はいろいろありますが、ここではpsqlというSQLインタプリタプログラムを利用していきます。

psqlは、PostgreSQLに標準で付属しており、PostgreSQLをインストールした環境であれば、すぐに利用できます。

今回は、psqlでPostgreSQLに接続し、データベースに関する情報を表示する手順について見ていきます。

psqlからデータベースへの接続

Linux版のPostgreSQLの場合であれば、シェル上からpsqlコマンドを実行します。

psqlコマンド
psql -U <データベースユーザー名> <データベース名>

-Uオプションでデータベースのユーザー名を指定し、引数としてデータベース名を指定します。psqlコマンドでよく使われるオプションとして以下のようなものがあります。

オプション 説明
-l データベース一覧を表示する。コマンド実行後、データベースに接続したままにならず、プロンプトに戻る。
-c ‘コマンド’ 引数で指定したSQLコマンドを実行し、結果を表示する。コマンド実行後、データベースに接続したままにならず、プロンプトに戻る。
-f ファイル名 引数で指定したファイルの中身をSQLとして実行する。コマンド実行後、データベースに接続したままにならず、プロンプトに戻る。
-p ポート番号 接続するPostgreSQLのポート番号を指定する。
-h ホスト名 接続するPostgreSQLのホスト名を指定する。

では、実際にpsqlを利用してデータベースに接続してみましょう。今回はpostgresユーザーでtemplate1データベースに接続します。

# su - postgres
$ psql -U postgres template1

コマンド実行後は、指定したデータベース(template1)への接続に成功したら、プロンプトが以下のように変わります。

template1=#

このプロンプトになっている間はデータベース(template1)に接続していることを示します。この状態になれば、直接SQLを実行することが可能となります。

また、プロンプトの最後が「=#」になっていますが、この意味は接続したユーザーがスーパーユーザーであることを表しています。一般ユーザーで接続した場合は「=>」になります。

データベースに関する情報表示

SQLを実行する前に、まず接続したデータベースにどのようなテーブルやインデックスがあるのかを確認する方法について見ていきましょう。

データベースに関する情報は、psqlで実装されているバックスラッシュコマンドで参照できます。例えば、定義されているテーブルを確認するには「\d」コマンドを実行します。

template1=# \d

よく使用されるバックスラッシュコマンドとして以下のようなものがあります。

バックスラッシュコマンド 説明
\? バックスラッシュコマンドヘルプを表示
\h SQLヘルプを表示
\q psqlを終了
\l データベースの一覧を表示
\dn スキーマの一覧を表示
\d テーブル、インデックス、シーケンス、ビューの一覧を表示
\dt テーブルの一覧を表示
\di インデックスの一覧を表示
\ds シーケンスの一覧を表示
\dv ビューの一覧を表示
\dS システムテーブルの一覧を表示
\du データベースユーザーの一覧を表示
\df 関数の一覧を表示
\r 入力途中のクエリのリセット
\timing SQL実行時間計測表示のON/OFF

他にもいろいろあり覚えるのが大変かもしれませんが、どのようなことが確認できるのかをおさえておき、バックスラッシュコマンドヘルプを表示するコマンドを最低限覚えておきましょう。

]]>
0
admin <![CDATA[SQLの基本的な記述ルール]]> http://db-study.com/?p=221 2016-05-28T10:16:36Z 2016-05-29T10:05:43Z SQL文を記述する際、守らなければならないルールがいくつか存在します。それらルールを守っていない場合はエラーとなるため正しく記述する必要があります。

SQL文の最後に「;」(セミコロン)をつける

SQL文は1文ずつ発行され、1文につき、1つのデータベース操作を行います。
RDBMSに1つのSQL文の終わりを示すためには、区切り文字が必要です。SQLでは、その区切り文字が「;」(セミコロン)となります。

例:
SELECT * FROM sampleTable;

キーワードに大文字/小文字の区別はない

SQL文の中には、テーブル名、列名など、対象データを特定する為の情報と、いくつかのキーワードとを組み合わせて記述します。

例えば、以下のSQL分では、

SELECT * FROM sampleTable;

「SELECT」と「FROM」がキーワードです。

キーワードに大文字/小文字の区別はなく、「SELECT」「select」と、どちらで書いても正しく処理されます。

また、キーワードとキーワードの間には、スペースやタブ、改行を挿入することができます。数に制限もなく、いくら挿入しても問題ありません。ただし、全角スペースは使用できません。

定数はシングルクォーテーション(‘)で囲む

SQL文の中にじかに書く文字列や日付、数値などを定数と言います。

それらのうち、文字列と日付については、SQL文内で定数として表現するときは、シングルクォーテーション(‘)で囲む必要があります。

SELECT * FROM sampleTable WHERE name = 'Tanaka';
SELECT * FROM sampleTable WHERE birth = '1975-02-22';

一方、数値は何かで囲む必要はなく、そのまま記述します。

SELECT * FROM sampleTable WHERE age = 40;
]]>
0
admin <![CDATA[SQL概要]]> http://db-study.com/?p=218 2016-05-28T09:43:49Z 2016-05-28T09:43:49Z SQL(Structured Query Language)はデータベースを操作するための言語です。

PostgreSQLを含む、ほとんどのRDBMSがSQLをサポートしており、アプリケーションからデータベースを利用する場合にはSQLを使用してデータベースに対して各種問い合わせを行うことになります。

SQLでできることのほとんどはpgAdminによるGUIからでも操作できますが、アプリケーションからデータベースにアクセスする場合には、GUIで操作というわけにはいきません。

そのため、PostgreSQLに限らず、データベースを利用するアプリケーションを開発する上で、SQLの習得は必須であり、避けては通れないものです。

SQLとは

SQL(Structured Query Language)はデータベース(正確にはリレーショナルデータベース)を操作するために開発された言語です。
もともと、データベースから効率良くデータを検索することを目的としたものでしたが、現在ではデータ検索だけでなく、データの登録や削除といったデータベース操作のほとんどをSQLで行うことができます。

SQLにはISO(国際標準化機構)で定められた標準規格があり、それに準拠したSQLを標準SQLと言います。

このように標準規格を定めることで、さまざまにあるRDBMSで同じSQL文を使うことができます。
ただし、標準SQLに完全に準拠したRDBMSばかりではなく、RDBMSごとにいわゆる「方言」のようなものが存在します。(例えば、Oracleデータベースで使用できるSQL文がSQL Serverでは使用できないなど。)

とは言うものの、標準SQLを覚えれば、大抵のデータベース操作が可能なため、まず、標準SQLでの書き方を覚えていくのが良いでしょう。

SQLの分類

SQLは機能により、大きく次の3つに分類されます。

DDL(Data Definition Language)

DDL(データ定義言語)は、テーブルなどのオブジェクトを作成するためのコマンド群です。DDLに分類されるコマンドは以下になります。

CREATE データベースやテーブルなどを作成する。
DROP データベースやテーブルなどを削除する。
ALTER データベースやテーブルなどの構成を変更する。

DML(Data Manipulation Language)

DML(データ操作言語)は、データの挿入/更新/削除などを行うためのコマンド群です。DMLに分類されるコマンドは以下になります。

SELECT テーブルから行を検索する。
INSERT テーブルに新規行を登録する。
UPDATE テーブルの行を更新する。
DELETE テーブルの行を削除する。

DCL(Data Control Language)

DCL(データ制御言語)は、トランザクション関連のコマンドが含まれます。DCLに分類されるコマンドは以下になります。

COMMIT データベースに対して行った変更を確定する。
ROLLBACK データベースに対して行った変更を取り消す。
GRANT ユーザーに操作の権限を与える。
REVOKE ユーザーから操作の権限を奪う。

このように、SQLは機能により3つの種類に分けられます。そのうち、最もよく使われるのがDML(データ操作言語)になります。

]]>
0
admin <![CDATA[データビューによるデータ登録・削除・参照]]> http://db-study.com/?p=202 2016-05-28T08:12:41Z 2016-05-28T08:15:36Z 前回、「staff」という名前のテーブルを作成しました。今回はその「staff」テーブルにデータを登録していきます。

テーブルにデータを登録するには以下の2通りの方法があります。

  • SQL文を実行する
  • データビューを使用する

ひとつ目のSQL文を実行する方法はpsqlコマンドによりデータベースへログインするなどして行います。ふたつ目のデータビューを使用する方法はpgAdminを使用して登録することになります。

ここでは後者のデータビューを使用して登録する手順を見ていきます。

データビューによるデータ登録

pgAdminの機能であるデータビューを使用すれば、データの登録・削除・参照をGUIベースで行えます。

※ただし、登録に関しては、主キーが設定されている、もしくはテーブル作成時に「OIDを持つ」にチェックを入れている必要があり、いずれの条件も満たしていない場合は、参照のみとなり、登録はできません。

早速、データビューを使用してデータを登録してみます。

pgAdminを起動したら左ペインのオブジェクトブラウザのツリーから「staff」テーブルを右クリックし、コンテキストメニューから「データビュー」-「全ての列を表示」をクリックします。(以下のスクリーンショットではテーブル名が「sampleDB」となっていますが、「staff」テーブルに読み替えてください。)
pgAdmin

すると、以下のダイアログボックスが表示されます。
「編集データ」ダイアログ

ここに、1行(レコード)ずつ、適当なデータを入力してみてください。
サンプルデータ入力

各列にデータを入力し、Enterキーを押下すれば、その時点でデータは登録されます。その際、テーブル作成時に取り決めた制約を守っている必要があります。例えば、「age」列に0より小さな値を入力した場合、制約違反となり以下のようなエラーが出力されます。
制約違反

データビューによるデータ削除

続いて、登録したデータを削除してみましょう。今回は5行目のレコードを削除してみます。
データ削除

6歳ではまだ労働できないので「staff」テーブルから削除します。当該行を選択した状態で、画面上部のゴミ箱アイコンをクリックします。

すると、以下のような確認ダイアログが表示されるため「はい」ボタンを押下します。
確認ダイアログ

行が削除されているのが確認できます。
データ削除確認

データビューによるデータ検索

データベースの主目的はデータ検索をすばやく行うことです。次に、データビューを使用して「staff」テーブルに格納されているデータを検索してみましょう。

左ペインのオブジェクトブラウザのツリーから「staff」テーブルを右クリックし、コンテキストメニューから「データビュー」-「行フィルターの表示」をクリックします。
データビュー

以下のようなダイアログボックスが表示されます。「フィルタ文字列」テキストボックスに「age >= 30」と入力して「OK」ボタンを押下します。
データビューオプション

すると、以下のように「age」(年齢)が30歳以上のスタッフのレコードのみが表示されます。
データ検索

このように条件式を入力し、その条件を満たすデータのみをデータビューに表示させることができます。

スクリプトによるデータ検索

pgAdminからSQL文を直接発行してデータ検索を行うこともできます。

左ペインのオブジェクトブラウザのツリーから「staff」テーブルを右クリックし、コンテキストメニューから「スクリプト」-「SELECTスクリプト」をクリックします。
スクリプト

以下のようなダイアログボックスが表示されます。「SQLエディタ」に任意のSQL文を入力し、画面上部の実行アイコンをクリックすれば、画面下部の出力ビューに結果が表示されます。
クエリーツール

SQLに慣れてる場合は、こちらの方法の方が便利かもしれません。

]]>
0