【PostgreSQL】SQL文【Part.11】

今回は SQL コマンド(SQL 文)について解説します。

 

 

PostgreSQL の SQL コマンド一覧

PostgreSQL の SQL コマンド一覧は以下のメタコマンドで確認できます。

postgres=# \h 
Available help: 
  ABORT                            CREATE FUNCTION                  DROP TABLE 
  ALTER AGGREGATE                  CREATE GROUP                     DROP TABLESPACE 
  ALTER COLLATION                  CREATE INDEX                     DROP TEXT SEARCH CONFIGURATION 
  ALTER CONVERSION                 CREATE LANGUAGE                  DROP TEXT SEARCH DICTIONARY 
  ALTER DATABASE                   CREATE OPERATOR                  DROP TEXT SEARCH PARSER 
  ALTER DEFAULT PRIVILEGES         CREATE OPERATOR CLASS            DROP TEXT SEARCH TEMPLATE 
  ALTER DOMAIN                     CREATE OPERATOR FAMILY           DROP TRIGGER 
  ALTER EXTENSION                  CREATE ROLE                      DROP TYPE 
  ALTER FOREIGN DATA WRAPPER       CREATE RULE                      DROP USER 
  ALTER FOREIGN TABLE              CREATE SCHEMA                    DROP USER MAPPING 
  ALTER FUNCTION                   CREATE SEQUENCE                  DROP VIEW 
  ALTER GROUP                      CREATE SERVER                    END 
  ALTER INDEX                      CREATE TABLE                     EXECUTE 
  ALTER LANGUAGE                   CREATE TABLE AS                  EXPLAIN 
  ALTER LARGE OBJECT               CREATE TABLESPACE                FETCH 
  ALTER OPERATOR                   CREATE TEXT SEARCH CONFIGURATION GRANT 
  ALTER OPERATOR CLASS             CREATE TEXT SEARCH DICTIONARY    INSERT 
  ALTER OPERATOR FAMILY            CREATE TEXT SEARCH PARSER        LISTEN 
  ALTER ROLE                       CREATE TEXT SEARCH TEMPLATE      LOAD 
  ALTER SCHEMA                     CREATE TRIGGER                   LOCK 
  ALTER SEQUENCE                   CREATE TYPE                      MOVE 
  ALTER SERVER                     CREATE USER                      NOTIFY 
  ALTER TABLE                      CREATE USER MAPPING              PREPARE 
  ALTER TABLESPACE                 CREATE VIEW                      PREPARE TRANSACTION 
  ALTER TEXT SEARCH CONFIGURATION  DEALLOCATE                       REASSIGN OWNED 
  ALTER TEXT SEARCH DICTIONARY     DECLARE                          REINDEX 
  ALTER TEXT SEARCH PARSER         DELETE                           RELEASE SAVEPOINT 
  ALTER TEXT SEARCH TEMPLATE       DISCARD                          RESET 
  ALTER TRIGGER                    DO                               REVOKE 
  ALTER TYPE                       DROP AGGREGATE                   ROLLBACK 
  ALTER USER                       DROP CAST                        ROLLBACK PREPARED 
  ALTER USER MAPPING               DROP COLLATION                   ROLLBACK TO SAVEPOINT 
  ALTER VIEW                       DROP CONVERSION                  SAVEPOINT 
  ANALYZE                          DROP DATABASE                    SECURITY LABEL 
  BEGIN                            DROP DOMAIN                      SELECT 
  CHECKPOINT                       DROP EXTENSION                   SELECT INTO 
  CLOSE                            DROP FOREIGN DATA WRAPPER        SET 
  CLUSTER                          DROP FOREIGN TABLE               SET CONSTRAINTS 
  COMMENT                          DROP FUNCTION                    SET ROLE 
  COMMIT                           DROP GROUP                       SET SESSION AUTHORIZATION 
  COMMIT PREPARED                  DROP INDEX                       SET TRANSACTION 
  COPY                             DROP LANGUAGE                    SHOW 
  CREATE AGGREGATE                 DROP OPERATOR                    START TRANSACTION 
  CREATE CAST                      DROP OPERATOR CLASS              TABLE 
  CREATE COLLATION                 DROP OPERATOR FAMILY             TRUNCATE 
  CREATE CONVERSION                DROP OWNED                       UNLISTEN 
  CREATE DATABASE                  DROP ROLE                        UPDATE 
  CREATE DOMAIN                    DROP RULE                        VACUUM 
  CREATE EXTENSION                 DROP SCHEMA                      VALUES 
  CREATE FOREIGN DATA WRAPPER      DROP SEQUENCE                    WITH 
  CREATE FOREIGN TABLE             DROP SERVER 
postgres=#

 

 

SQL コマンドの分類

 

DDL(Data Definition Language、データ定義言語)

 

DML(Data Manipulation Language、データ操作言語)

 

DCL(Data Control Language、データ制御言語)

 

 

 

CREATE

CREATE コマンドについて解説します。

 

CREATE SCHEMA

CREATE SCHEMA <スキーマ名> AUTHORIZATION <所有者名>;

 

【例】

CREATE SCHEMA TestSchema01 AUTHORIZATION TestUser01;

 

 

DROP

DROP コマンドについて解説します。

DROP TABLE <テーブル名> テーブルを削除する

データも含めてテーブルを削除します。

DROP TABLE <テーブル名>;

 

 

DROP ROLE(DROP USER) データベースロール(データベースユーザー)を削除する

【データベースロールを削除する】

DROP ROLE ロール名;

 

【データベースユーザーを削除する】

DROP USER ロール名;

 

 

 

GRANT 

GRANT は権限を付与するコマンドです。

 

【テーブルへのアクセス権限を付与】

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

 

【データベースへのアクセス権限を付与】

GRANT <権限> ON DATABASE <データベース名> TO <ユーザー名>;

 

【スキーマへのアクセス権限を付与】

GRANT <権限> ON SCHEMA <スキーマ名> TO <ユーザー名>;

 

 

REVOKE

REVOKE は GRANT コマンドとは逆に「権限を取り消す」コマンドです。

 

【テーブルへのアクセス権限を取消す】

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

 

【データベースへのアクセス権限を取消す】

REVOKE <権限> ON DATABASE <データベース名> FROM <ユーザー名>;

 

【スキーマへのアクセス権限を取消す】

REVOKE <権限> ON SCHEMA <スキーマ名> FROM <ユーザー名>;

 

 

 

COUNT

COUNTはカラムのデータ件数を返します。

カラムの値の中は見ていません。データ件数をカウントしています。

カラムを指定した場合、値が「NULL」の場合はカウントされません。

COUNT(*)とアスタリスクですべてを指定した場合は「NULL」もカウントされます。

 

パターンの一致(LIKE、SIMILAR TO、正規表現)

テーブルの中の値に一致する文字列があるかどうか検索する方法です。

 

【例】TESTという文字列を検索したい場合

 

 

SQL コマンドの終了はセミコロン(;)

SQL コマンドはセミコロン(;)で終了します。

postgres=# SELECT * FROM user; 
 current_user 
-------------- 
 postgres 
(1 row) 
 
postgres=#

 

 

 

内部結合と外部結合と自然結合

 

 

外部結合の種類

 

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人