PostgreSQL の基本的な SQL 文 とオブジェクトについて解説します。
【SQLのルール】大文字と小文字を区別しない
例えば、SELECT 文の場合は「SELECT」と「select」は一緒です。
テーブル名やインデックス名も大文字・小文字を区別しません。
テーブル名も「TABLE01」と「table01」は同じテーブルを指しています。
文字や日付はシングルクオートで囲む
文字や日付はシングルクオートで囲みます。
例
- 2018年11月18日 ← ’2018-11-18′
■シングルクオートとダブルクオートの違い
プログラム言語ごとにルールが異なります。
例えばプログラム言語によっては「シングルクオート」と「ダブルクオート」では処理速度が変わることがあります。
PosgreSQL というより「標準 SQL」の仕様としては文字列をくくる場合は「シングルクオート」で囲みます。
しかし「ダブルクオート」の場合は、DBMS ごとに仕様が異なります。
PostgreSQL の場合は「ダブルクオート」で囲んだものは「表や列の名前」となります。
SELECT 文
一番よく使用する SQL 文です。
【書式】
SELECT 列名 FROM テーブル名 WHERE 検索条件; |
列名、テーブル名を複数指定する場合
SELECT 列名,列名 FROM テーブル名,テーブル名 WHERE 検索条件; |
列名、テーブル名を複数指定する場合は「カンマ」で区切ります。
検索条件を複数指定する場合
SELECT 列名 FROM テーブル名 WHERE 検索条件 OR 検索条件 AND 検索条件; |
検索条件を複数指定する場合は「OR」や「AND」で区切ります。
ORDER BY
ORDER BY は、SELECT 文の結果をソートする場合に使用します。
【書式】
SELECT 列名 FROM テーブル名 WHERE 検索条件 ORDER BY ソート対象 [ ASC | DESC ]; |
- ASC ← 昇順(しょうじゅん)、12345、ABCD、英語では ascending(アセンディング、上っていく、上昇する)
- DESC ← 降順(こうじゅん)、9876、ZYXW、英語では descending(デセンディング、下っていく、降下する)
ASC、DESC を指定しない場合はデフォルトで「ASC(昇順、上っていく方)」になります。
■ソート対象
ソート対象は「列名」もしくは「列数」を指定します。
列数とは、例えば「COLUMN02」の結果でソートしたい場合は、以下のような SQL 文になります。
SELECT COLUMN01,COLUMN02,COLUMN03 FROM TABLE01 ORDER BY 2; |
テーブルとは
データを格納する表を「テーブル」と言います。
- table ← テーブル、卓、表、目録 という意味です。
テーブルの各カラムにデフォルト値や制約(主キー(プライマリーキー)制約、ユニーク制約、NOT NULL 制約、外部キー制約、チェック制約)を設定できます。
明示的に宣言されたデフォルト値がない場合は、デフォルト値は「NULL値」になります。
スキーマ(SCHEMA)とは
英語でいう schema(スキーマ)とは、「概要」や「図解」や「図表」などの意味があります。
PosgreSQL でのスキーマとは「名前空間」とも呼ばれます。
PostgreSQL シリーズ
今まで学習した PostgreSQL の技術をシリーズとしてまとめました。
【PostgreSQL】PostgreSQL の特徴と基本【Part.1】
【PostgreSQL】【正規化】リレーショナルデータベース(RDMS)の基本【Part.2】
【PostgreSQL】PostgreSQL のインストールと初期設定【Part.3】
【PostgreSQL】PostgreSQL の標準付属ツールの説明とコマンド手順【Part.4】
【PostgreSQL】PostgreSQL の設定ファイル(postgresql.conf、pg_hba.conf)の解説【Part.5】
【PostgreSQL】PostgreSQL のバックアップ手順とリストア手順【Part.6】
【PostgreSQL】PostgreSQL の運用管理(ユーザー管理、バキューム)【Part.7】
【PostgreSQL】PostgreSQL の基本的な SQL文 とオブジェクトについて【Part.8】
【PostgreSQL】PostgreSQL の組み込み関数、ユーザー定義関数、演算子について【Part.9】
【PostgreSQL】PostgreSQL のトランザクションについて【Part.10】
【PostgreSQL】SQL文【Part.11】
【PostgreSQL】テーブル設計(データ型、制約)【Part.12】
コメント