メタコマンド
コマンド一覧
\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 テーブル名 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 件のコメント :
コメントを投稿