PostgreSQL|コマンド集




メタコマンド


コマンド一覧

\l データベース一覧を表示
\dn スキーマ一覧を表示
\d テーブル、ビュー、シーケンスの一覧を表示
\dt テーブル一覧を表示
\d テーブル名 テーブル定義を表示
\di インデックス一覧を表示
\dp テーブル、ビュー、シーケンスのアクセス権一覧を表示
\z \dp と同じ
\q データベース接続を切断
\x[on|off|auto] 拡張テーブル形式モードの切替


データ定義言語 DDL:CREATE DROP ALTER TRUNCATE

Data Definition Language は、テーブルやインデックスの作成や変更、削除などを行う。

データベース 操作コマンド:CREATE DROP

データベースを作成

CREATE DATABASE データベース名;


データベースを削除

DROP DATABASE データベース名;

スキーマ 操作コマンド:CREATE DROP

スキーマを作成

CREATE SCHEMA スキーマ名;


スキーマを削除

DROP SCHEMA スキーマ名;

テーブル 操作コマンド:CREATE DROP ALTER

テーブルを作成

CREATE TABLE テーブル名(列名1 データ型 制約, 列名2 データ型 制約, ...);


テーブルを削除

DROP TABLE テーブル名1, テーブル名2, ...;


テーブル名を変更

ALTER TABLE 変更前のテーブル名 TO 変更後のテーブル名;


スキーマを変更 ※変更したスキーマへテーブルが移動する。

ALTER TABLE テーブル名 SET SCHEMA 変更後のスキーム名;


カラムを追加

ALTER TABLE テーブル名 ADD COLUMN 追加するカラム名 データ型;

カラムを削除

ALTER TABLE テーブル名 DROP COLUMN 削除するカラム名;


カラム名を変更

ALTER TABLE テーブル名 RENAME COLUMN  変更前のカラム名 TO 変更後のカラム名;


カラムのデータ型を変更

ALTER TABLE テーブル名 ALTER COLUMN カラム名 SET DATA TYPE 変更後のデータ型;


ユーザ (ロール) 操作コマンド:CREATE DROP ALTER

PostgreSQL でユーザとロールは、基本的に同じものである。

ユーザとロールの違いは、LOGIN 属性があるかないかの違いのみである。

ロールに LOGIN 属性を付与したら、ユーザと同じになる。

ユーザまたはロールを作成

CREATE USER ユーザ名;

CREATE ROLE ロール名;


ユーザまたはロールを削除

DROP USER ユーザ名;

DROP ROLE ロール名;



データ操作言語 DML:SELECT UPDATE INSERT DELETE

Data Manipulation Language は、データの参照、更新などを行う。

SELECT 文

SELECT FROM テーブル名 WHERE 条件;

UPDATE 文

UPDATE テーブル名 SET 列名=更新データ WHERE 条件;

INSERT 文

単一行の場合

INSERT INTO テーブル名 VALUES(挿入値,挿入値,...);

または

INSERT INTO テーブル名(列名,列名,...) VALUES(挿入値,挿入値,...);

複数行の場合

INSERT INTO テーブル名 VALUES(挿入値,挿入値,...), (挿入値,挿入値,...),...;

または

INSERT INTO テーブル名(列名,列名,...) VALUES(挿入値,挿入値,...), (挿入値,挿入値,...),...;

DELETE 文

DELETE FROM テーブル名 WHERE 条件;


データ制御言語 DCL:GRANT REVOKE COMMIT ROLLBACK

Data Control Language は、権限の設定やトランザクション制御などを行う。

GRANT 文

ユーザに指定したテーブルに対する権限を付与する。

GRANT 権限名 ON テーブル名 TO ユーザ名;


例:user01 に table01 に対して INSERT権限を付与する。

GRANT INSERT ON table01 TO user01;

REVOKE 文

ユーザに指定したテーブルに対する権限を削除する。

REVOKE 権限名 ON テーブル名 FROM ユーザ名;


例:user01 から table01 に対して INSERT権限を削除する。

REVOKE INSERT ON table01 FROM user01;

COMMIT 文

トランザクション内で実行した SQL 文の更新を確定する。

ROLLBACK 文

トランザクション内で実行した SQL 文の更新を破棄する。


その他

SQL ファイルを実行

psql -U ユーザ名 -d DB名 -h IPアドレス -p 5432 -f sqlファイル名


関数の DDL 定義内容を確認

SELECT proname, prosrc FROM pg_proc WHERE proname like '%関数名%'



スポンサーリンク

0 件のコメント :

コメントを投稿