茨の道も一歩から

インフラ構築からプログラミング(Python・JavaScript)までITに関するブログです。

データベース:データ操作言語(DML:Data Manipulation Language)

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

  • データの参照、更新(変更・追加・削除)はデータベースにおける重要な基本操作である。

◆ データの参照

  • データの参照には、SELECT文を使用する。

SELECT文の基本構文

SELECT 列名1,列名2,…FROM テーブル名
WHERE 行の抽出条件
GROUP BY グループ化を行う列名
HAVING グループ化後の抽出条件
ORDER BY 並び替え指定列名 または 列番号

SELECTとFROM

(1)SELECT * FROM テーブル名

  • *を指定すると、元のテーブルからすべての列をそのままの順序で取り出せる。

(2)SELECT 列名1 FROM テーブル名

  • 指定した列名のみ取り出せる。(射影)

(3)SELECT 列名2,列名3,列名1 FROM テーブル名

  • 元のテーブルと違う列順序で取り出せる。

DISTINCT

(1)SELECT DISTINCT 列名1 FROM テーブル名

  • DISTINCTを指定すると、重複した行を1行に纏めて取り出せる。

WHERE

(1)SELECT * FROM テーブル名 WHERE 抽出条件

  • WHEREを指定すると、抽出条件に合致した行のみ取り出せる。

(2)SELECT * FROM テーブル名 WHERE 列名1 = '文字列'

  • 抽出条件に文字列を指定する場合は、シングルクォーテンション(')で囲む必要がある。

GROUP BY

(1)SELECT 列名1,SUM(列名3) FROM テーブル名 GROUP BY 列名1

  • SELECT句に指定出来るのは、GROUP BY句に指定した列名か集合関数のみである。

HAVING

(1)SELECT 列名1,COUNT() FROM テーブル名 GROUP BY 列名1 HAVING COUNT() <= 10

  • HAVINGを指定すると、グループ化した結果に対し、抽出条件を満たす行のみ取り出せる。

ORDER BY

(1)SELECT 列名1,COUNT(*) FROM テーブル名 ORDER BY 列名1,2 DESC

  • ORDER BY句に指定した列をソートキーとして、取り出したデータを並び替える。
  • ORDER BY句に集合関数は指定出来ないので、列番号を指定する。
  • 昇順(ASC)、降順(DESC)である。

◆ データの更新

  • データの変更には、UPDATE文を使用する。

UPDATE文の基本構文

UPDATE テーブル名 SET 列名1 = 値,列名2 = 値,…WHERE 条件

  • データの追加には、INSERT文を使用する。
  • INSERT文には、INSERT~VALUES文とINSERT~SELECT文がある。

INSERT~VALUES文の基本構文

INSERT INTO テーブル名 (列名1,列名2,…)VALUES (値1,値2,…)

※ただし、VALUESで指定する値がテーブルの順番通りなら列名は省略可能。
INSERT INTO テーブル名VALUES (値1,値2,…)

INSERT~SELECT文の基本構文

INSERT INTO テーブル名 (列名1,列名2,…)
SELECT 列名1,列名2,…FROM 参照テーブル名
WHERE 条件

  • データの削除には、DELETE文を使用する。

DELETE文の基本構文

DELETE FROM テーブル名 WHERE 条件

【試験対策】

  • SELECT句に指定出来るのは、GROUP BY句に指定した列名か集合関数のみである。
  • グループ化前に条件を指定する場合は、WHERE句を使用する。
  • WHERE句には、集合関数を指定出来ない。
  • グループ化後に条件を指定する場合は、HAVING句を使用する。
  • HAVING句には、集合関数を指定出来る。
  • ORDER BY句には、集合関数は指定出来ないので、列番号を指定する。
  • ORDER BY句で並び替え順を省略した場合は、昇順(ASC)が設定される。
  • INSERT~VALUES文は、1行ずつデータを追加する。
  • INSERT~SELECT文は、複数行を1度に追加することが出来る。
  • DELETE文のWHERE句に条件を指定しないと、すべてのデータが削除される。

目次へ戻る