Category Archives: PostgreSQL

「postgresql入門」create tableでテーブルを作成するサンプル

サンプル
create table employee(
empid SERIAL PRIMARY KEY,
empename VARCHAR(60),
hometown VARCHAR(60),
phone VARCHAR(15),
email VARCHAR(30),
age INTEGER,
sex VARCHAR(4),
company VARCHAR(60),
regdate timestamp not null default current_timestamp
);

「PostgreSQL入門」indexを作成、削除する方法

1.indexの作成
CREATE INDEX {index名} ON {Table名} ({Column名});

CREATE INDEX test_table_column1_idx ON test_table (column1);

indexが存在しない場合
CREATE INDEX IF NOT EXISTS {index名} ON {Table名} ({Column名});

2.indexの削除
DROP INDEX {index名};

DROP INDEX test_table_column1_idx;

3.indexの確認
\d test_table_column2_idx

「postgreSQL入門」postgres_fdwでサーバのデータにリモートアクセスする方法

1.拡張をインストール
CREATE EXTENSION postgres_fdw;

2.外部サーバーを作成
CREATE SERVER CFT_FDW FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (HOST ‘127.0.0.1’, DBNAME ‘DEMO’, PORT ‘5432’);

3.ユーザマッピング
CREATE USER MAPPING FOR public SERVER CFT_FDW
OPTIONS (USER ‘USER001’, PASSWORD ‘PWD001’);

4.外部サーバからテーブル定義をインポート
IMPORT FOREIGN SCHEMA PUBLIC
LIMIT
TO (USER_TBL, ADDRESS_TBL,TEST_TBL)
FROM
SERVER CFT_FDW
INTO PUBLIC;

参考URL
https://www.postgresql.jp/document/9.5/html/postgres-fdw.html

「postgreSQL入門」concat()で文字列を結合するサンプルコード

形式
concat(str1, str2 [, xxx])
引数(文字列)を結合する。

例1
SELECT CONCAT(ID, ‘ # ‘ || NAME) AS CFT FROM TEST_TBL;
結果
cft
—————
user001#山田001
user002#大崎001
user003#佐野001
user004#五田001

例2
SELECT
CONCAT(‘,’, TEST_TBL.*) AS CFT
FROM
TEST_TBL
結果
,(test01,data1,data2,xxxx)

「postgresql入門」演算子を使って文字列を連結するコード

SQL構文例
SELECT DISTINCT
T1.*
,T1.カラムA || ‘#’ || T1.カラムB  TESTCD
, T2.カラムC || ‘_’ || T3.カラムC TESTNAME
FROM
TEST_TABLE1 T1
LEFT JOIN TEST_TABLE2 T2
ON T1.ID = T2.ID
LEFT JOIN TEST_TABLE3 T3
ON T1.カラム1 = T3.カラム2
ORDER BY
, T1.xxx
, T2.xxx

[postgreSQL入門」特定スキーマにおける全てのテーブルを削除

①現在のスキーマの確認
select current_schema();

②スキーマを変更する
SET search_path = your_schema;

③CLIからスキーマ一覧の表示
\dn

④changfatunスキーマにおける全てのテーブルを削除する
drop schema changfatun cascade;

「Postgresql入門」RIGHT(LEFT) OUTER JOINでテーブル結合サンプル

1.RIGHT OUTER JOINでの外部結合

SELECT
T1.*,
T2.NAME NM_CFT
FROM
CARS T1
RIGHT OUTER JOIN COMPANY T2
ON T2.ID = T1.PRODUCT_ID
LEFT OUTER JOIN HOME T3
ON T3.ID = T1.PRODUCT_ID
AND T3.ID_MANAGE = T1.MANAGE;

2.LEFT OUTER JOINでの外部結合

SELECT
T1.* ,
T2.NAME NM_CFT
FROM
CARS T1
LEFT OUTER JOIN COMPANY T2
ON T2.ID = T1.PRODUCT_ID
LEFT OUTER JOIN HOME T3
ON T3.ID = T1.PRODUCT_ID
AND T3.ID_MANAGE = T1.MANAGE;

「PostgreSQL入門」テーブルの名前を変更するコマンド

1.テーブルにカラムを追加
ALTER TABLE テーブル名 ADD 追加するカラム名 カラムの型;

ALTER TABLE sample_tbl ADD introduction text;

2.カラムの名前の変更
ALTER TABLE テーブル名 RENAME 現在のカラム名 TO 変更後のカラム名;

ALTER TABLE sample_tbl RENAME introduction TO ctnintro;

3.カラムのデータ型の変更
ALTER TABLE sample_tbl ALTER addrName TYPE varchar(64);

5.not null制約の追加
ALTER TABLE sample_tbl ALTER addrName SET NOT NULL;

6.unique制約の追加
ALTER TABLE sample_tbl ADD CONSTRAINT ctn_unique_key UNIQUE (column_name);

「PostgreSQL入門」カラム型の変更、制約の追加方法

1.カラム型の変更
ALTER TABLE SAMPLE_TBL ALTER COLUMN S_NO TYPE VARCHAR(2)

2.制約の追加
ALTER TABLE SAMPLE_TBL ALTER COLUMN S_NO SET NOT NULL

PostgreSQLの外部キー制約を追加、削除する方法

1.追加
ALTER TABLE EMPLOYEE_MANAGE ADD FOREIGN KEY (USER_ID) REFERENCES USER_CFT(USER_ID)
ON
DELETE CASCADE;

2.表示
SELECT
*
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
CONSTRAINT_TYPE = ‘FOREIGN KEY’
AND TABLE_NAME = ‘EMPLOYEE_MANAGE’;

3.削除
ALTER TABLE EMPLOYEE_MANAGE DROP CONSTRAINT USER_ID

1 / 912345...最後 »