ででりんブログ

写真やプログラミングを中心とした雑記帳

スポンサーリンク

【PostgreSQL】ビュー作成方法

今回はPostgreSQLを使ったビューの作成方法です。

まず準備としてテーブルを2つ作ってみます。
pgAdminを起動してデータベース→スキーマ→テーブルへ行き、右クリックでCreate Tableを選択します。
テーブルの作成方法に躓いたら下記を参考にしてください。
【PostgreSQL】テーブル作成方法(pgAdmin編) - ででりんブログ

f:id:dederin-photo:20210602094900j:plain
テーブルAの構成
f:id:dederin-photo:20210602094909j:plain
テーブルBの構成

ではさっそくビューを作ってみます。
ビューとは説明するとテーブル(複数可)についてSQLで問い合わせた結果をテーブルのようなオブジェクトで残しておくことができるものです。
簡単に言うと複数のテーブルを結合して見たい形になったものをビューとして残せるということです。

何が嬉しいかというと
・複数のテーブルから情報を取るときに毎回結合しなくてもビューにアクセスすれば情報取得可能
・データベースへの問い合わせが少なくなるのでレスポンスがよくなる
・人間が見やすくできる
etc...

TableAとTableBを結合したビューを作るSQLのサンプルです。

〜
CREATE OR REPLACE VIEW TestView1 AS
	SELECT
		a.id,
		a."AAA",
		a."BBB",
		b."CCC",
		b."DDD"
	FROM "TableA" a
		inner join "TableB" b
		on a.id = b.id;
〜

ポイント①:
テーブルの名前やカラムの名前に大文字がある場合、ダブルクォーテーション(")で囲まないとTableAがtableaと認識されてしまいます。

ポイント②:
CREATE OR REPLACE VIEWとすると同名のビューがあった場合に置き換えするように指定できます。

【PostgreSQL】スキーマ作成方法(コマンドライン編)

今回はスキーマ作成をコマンドラインでやってみました。

 

まずコマンドラインPostgreSQLにログインします。

psql -U (ユーザ名) -d (データベース名)」と入力します。

f:id:dederin-photo:20210427111429j:plain

スキーマ作成

スキーマを作成するには「CREATE SCHEMA "TestSchema";」と実行します。

 

【PostgreSQL】スキーマ作成方法(pgAdmin編)

今回はpgAdminでスキーマを作成する方法です。

 

左のツリーからServers→PostgreSQL 13→Databases→(任意のデータベース)→Schemasに行き、右クリックからCreate→Schemaを実行します。

f:id:dederin-photo:20210427111047j:plain

スキーマ作成1

作成したいスキーマの名前を入力してSaveします。

f:id:dederin-photo:20210427111100j:plain

スキーマ作成2

【PostgreSQL】色々なSQL文のまとめ

PostgreSQLについて使ってみたSQL文のまとめ

dederin.hatenablog.jp 

 

  • PostgreSQLのログイン
    psql -U postgres
    psql -U postgres -d TestDatabase

  • データベース
    CREATE DATABASE TestDatabase;

  • スキーマ
    CREATE SCHEMA "TestSchema";

  • テーブル
    CREATE TABLE public."TestTable"();

【PostgreSQL】データベースのスキーマとは

データベースにおけるスキーマについてです。

Windowsでは同じフォルダの中に同じ名前のファイルを管理することができません。

同じようにPostgreSQLのデータベースも同じスキーマ内では同じ名前のテーブルを用意できないのです。

f:id:dederin-photo:20210427105838j:plain

スキーマ1

データベース内にスキーマを作り、スキーマ毎にテーブルを用意すれば同じ名前のテーブルを作成することができます。

f:id:dederin-photo:20210427110020j:plain

スキーマ2

 

参考:DBのスキーマとは何か?DBごとの違い - Qiita

【PostgreSQL】テーブル作成方法(コマンドライン編)

今回も前回の内容コマンドラインでやってみました。

 

まずコマンドラインPostgreSQLにログインします。

今回はログイン時にデータベースも指定します。

データベースを指定してログインするには「psql -U (ユーザ名) -d (データベース名)」と入力します。

f:id:dederin-photo:20210423155615j:plain

テーブル作成1

今回は管理者ユーザで作成済みのTestDatabaseにログインします。

f:id:dederin-photo:20210423161433j:plain

テーブル作成2

テーブルを作成するには「CREATE TABLE "(テーブル名)"();」と実行します。

CREATE TABLE "TestTable"();と実行するとスキーマpublic内にテーブルが作成されます。

明示的にスキーマを指定したい場合、CREATE TABLE public."TestTable"();とします。

【PostgreSQL】テーブル作成方法(pgAdmin編)

今回はpgAdminでテーブルを作成する方法です。

 

やり方はデータベースを作成する(【PostgreSQL】データベース作成方法(pgAdmin編) - ででりんブログ)のと同じで至って簡単。

 

まずpgAdminを起動してログインします。

左のツリーからServers→PostgreSQL 13→Databases→(任意のデータベース)→Schemas→public→Tablesに行き、右クリックからCreate→Tableを実行します。

f:id:dederin-photo:20210422162215j:plain

テーブル作成1

作成したいテーブルの名前を入力してSaveします。

f:id:dederin-photo:20210422162951j:plain

テーブル作成2

 

スポンサーリンク