psqlでデータベースを切り替えるコマンド

psqlでデータベースを切り替えるためのコマンドを紹介します。

 

データベース一覧を表示する

¥とl(=アルファベットのエル)の入力でデータベース一覧が表示されます。

※ 最後の「;」は不要です。

\l

 

データベースを切り替える

データベースを切り替えるコマンドです。

\c データベース名

 

プロシージャ(PROCEDURE)を実行する・呼び出す方法

プロシージャを実行する・呼び出す方法を紹介します。

-- プロシージャを実行する(呼び出す)
-- 呼び出すにはcallを使う(selectは不可)
call プロシージャ名(引数1 , 引数2 , ・・・); 

-- 呼び出し例 
call testproc(1,2,3);  

 

 

構文まとめを書いています。

「基本構文・こんな時どう書くんだっけ?」をまとめました

 

CREATE PROCEDUREのテンプレートを用意しました

一から作成すると手間なPROCEDURE用にテンプレを用意しました。

引数や返り値を変更するだけで簡単に作成ができます。

正直自分用なのですが、テンプレとして公開します。

CREATE OR REPLACE PROCEDURE testproc(                   --プロシージャ名は要変更
INOUT num1 integer,INOUT num2 integer,IN num3 integer)  --引数(下に補足あり)
LANGUAGE 'plpgsql' AS $BODY$
BEGIN
	--処理を記載
END;
$BODY$;

引数:IN=引数のみ、INOUT=引数+返り値としても使用される ※OUTのみは不可

 

 

構文まとめを書いています。

「基本構文・こんな時どう書くんだっけ?」をまとめました

 

引数にデフォルト値を設定する

関数の引数に初期値を設定する書き方を紹介します。

-- 構文
関数名(変数名 型 default 初期値)

-- 例
CREATE OR REPLACE FUNCTION testfnc(arg1 integer default -1) --引数に初期値を設定する
RETURNS integer
LANGUAGE 'plpgsql' COST 100 VOLATILE AS $BODY$
declare
begin
	return arg1;     -- 引数をそのまま返す関数
end;
$BODY$;

--動作確認(実行すると次のようになります)
select testfnc(3);   -- 結果:3(引数で設定した値が返る)
select testfnc();    -- 結果:-1(デフォルト値が返る)

 

 

構文まとめを書いています。

「基本構文・こんな時どう書くんだっけ?」をまとめました

 

While文(ループ文)の書き方

PostgreSQLにおけるWhile文の書き方です。

while 条件文 loop
	--条件文がtrueの時にここに書いた処理を繰り返す
end loop;
あわせて読みたい

https://postgresweb.com/post-2861

 

 

使用例

while hoge < 10 loop	    
	raise info '%', hoge;   -- hoge の値を表示
	hoge = hoge + 1;        -- カウントアップ
end loop;

※使用しているraise文はこちらで説明しています。

変数の値を画面に出す(raise)

 

 

ループ文の抜け方

ループ文から途中で抜けるには、EXITを使います。

while hoge < 10 loop
	raise info '%', hoge;   --変数の値を表示
	
  if hoge= 5 then
	    exit;               --exitで強制的にループを抜ける
	end if;
	
  hoge= hoge+ 1;
end loop;

 

関数(FUNCTION)を削除する方法

関数を削除する方法を紹介します。

-- 関数「testfnc」を削除する。
DROP FUNCTION 関数名(引数);

-- 引数のパターンが一つだけの関数は、関数名だけで削除できます(引数を省略できます。)
DROP FUNCTION 関数名;  -- ()なしで書く

-- 例
DROP FUNCTION testfnc(arg1 character varying,arg2 numeric);
DROP FUNCTION testfnc;

 

 

構文まとめを書いています。

「基本構文・こんな時どう書くんだっけ?」をまとめました

 

関数(FUNCTION)を実行する・呼び出す方法

関数を実行する・呼び出す方法を紹介します。

-- 関数を実行する(呼び出す)
-- 次の2つともどちらでもOK(同じ意味です)
select * from 関数名(引数1 , 引数2 , ・・・);
select 関数名(引数1 , 引数2 , ・・・);        -- * from は省略しても実行できます。


-- 関数の実行例(呼び出し例)
select * From testfnc('a',1);
select testfnc('a',1);       --どちらでも同じ(結果も変わらない)

 

 

こちらも参考に!関数の関連記事

関数(FUNCTION)の作り方・書き方を解説する

変数の宣言、変数宣言時に代入する、定数を宣言する方法

IF文の書き方(条件分岐)

For文(ループ文)の書き方

配列をループさせる

SQL(SELECT文)の結果をループする方法

SQLの結果を変数に格納する

変数の値を画面に出す(raise)

インデックスを追加、削除する構文

インデックスを追加、削除する構文です。

-- インデックスの作成
CREATE INDEX インデックス名 ON テーブル名 (列名1 , 列名2 , ・・・ );

-- インデックスの削除
DROP INDEX インデックス名;

 

 

構文まとめを書いています。

「基本構文・こんな時どう書くんだっけ?」をまとめました

 

構文

1行のコメントを入れるには、半角のマイナス2個「--」をコメントにしたい文字の前に入れます。

複数行のコメントを入れるには、「/**/」ををコメントにしたい文字の前後に入れます。

-- 1行のコメント:マイナス二個でコメント扱いになります。

-- 複数行のコメントにするには/* */で文字を囲みます
/* ここから

ここまでがコメントです*/

PostgreSQLの構文まとめを書いています

「基本構文・こんな時どう書くんだっけ?」のまとめ

 

比較演算子の紹介

よく使う比較演算子を紹介します。

-- イコール
if (a = b) then

-- ノットイコール
if (a != c) then

-- 大なり
if (a > b) then

-- 小なり
if (a < c) then

-- 大なりイコール
if (a >= b) then

-- 小なりイコール
if (a <= c) then

-- 条件 かつ 条件の書き方
if (a > b) and (a < c) then

-- 条件 または 条件の書き方
if (a > b) or (a < c) then

 

 

PostgreSQLの構文まとめを書いています

「基本構文・こんな時どう書くんだっけ?」のまとめ