データベース

【PostgreSQL】

SQLとは?

SQLとは、、「データベースに対して様々な操作をするための言語」です。

【データベース】SQLSQLとは? 関係データベース言語であるSQLは、関係データモデルに基づく標準のデータベース言語であり、データ定義言語(DDL)、デー...

PostgreSQLとは?

読み方:ポストグレースエスキューエル

用途:RDBMS→関係データデータベースに対して様々な操作をするためのシステム

他のRDBMS:IBM DB2, Microsoft SQL server, My SQL, PostgreSQL, FileMaker, H2 Databaseなど

ドキュメント

公式ドキュメント(英語)

公式ドキュメント(日本語)

データベースの作成と削除

データベースにアクセスする

sampledbというデータベースを作ってアクセスしてみたら以下のようになります。

よく使うコマンド

\h

SQLコマンドのヘルプを表示する

\?

psqlコマンドのヘルプを表示する

\g または ;

問合せを実行します。もし、\gまたは;を打たないと問合せに続きがあると認識されていつまで経っても実行しません。以下のように-#のようになっている時は、\gまたは;を入力していないので、問い合わせの続きの入力を待っていることになります。ただし、\から始まるものには、\gまたは;は必要ありません。

\q

psqlを終了します。

\l

データベースの一覧を表示する

\dt

テーブルの一覧を表示する

\dv

ビューの一覧を表示する

\d テーブル名

テーブル名のアトリビュートや制約などを表示する

\i ファイル名

ファイル名の中にある問い合わせを読み込み実行する

テーブルの作成と削除

作成

作成の方法として2種類あります。
①直接問い合わせを書き込む方法
②ファイルに問い合わせを記述し、\i ファイル名でファイル名の中にある問い合わせを読み込む方法

\dtで確認してみると確かにtableが作成されています。

\d accountでtableがどのように定義されているかみてみると、、、

削除

\dtで確認してみると確かに削除されています。

テーブル名の変更

データの挿入・削除

挿入

削除

テーブルの中身を見る

データの挿入と削除で出てきた、基本的にはselectとfromを使います。

SELECT  列名 → どの列から抽出するかを指定

FROM  表名 →  どの表から抽出するかを指定

WHERE  条件式 → どのような条件で抽出するかを指定

GROUP BY  属性 → 属性ごとにまとめる

HAVING  条件 → GROUP BYした後にさらに条件をつけて絞り込む

ORDER BY  属性 → 指定した属性に対して昇順で並び替える
属性の後にDESCとつけると降順に並び替える(属性は複数OK)

・SELECT * で全ての行を抽出します。

・SELECT 列名 FROM テーブル名 WHERE LIKE 列名 ‘文字列’ で対象の列に対して、文字列検索が行えます。このLIKEの文字列には、ワイルドカードが使用できます。

ワイルドカード文字 意味
% 0文字以上の任意の文字列
_ (アンダーバー) 任意の1文字

・SELECT COUNT(*) で行数をカウントします

関数 意味
COUNT(*) 行数を数える
SUM(属性) 属性の合計
MAX(属性) 属性の最大値
AVG(属性) 属性の平均
テーブルの内容(属性を指定)を全て出力
balanceが700以上のレコードを出力
branch_nameをまとめてbranch_nameごとのblanceの平均値を出力
上の条件に平均が600以上のレコードを出力
テーブルのaccount_number(昇順), account(降順)をソートして出力

SELECT文の入れ子

データの更新

ビューの作成・削除

作成

削除