DDL(data description language)
すること | SQL |
---|---|
作成 | CREATE TABLE ○○ (SELECT * FROM ○○); |
変更 | ALTER TABLE ○○ ADD COLUMN ○○ varchar(255) default ''; |
削除 | DROP TABLE ○○; |
DML(data manipulation language)
すること | コマンド |
---|---|
検索 | SELECT ○○, ○○,... FROM ○○ WHERE ○○ LIKE '%○○%' ORDER BY ○○ DESC; (※1) |
検索 | SELECT ○○,COUNT() FROM ○○ GROUP BY ○○ HAVING COUNT()> 1; (※2) |
検索 | SELECT ○○.xxxx,●●.xxxx AS xxxx FROM ●● JOIN ○○ ON ○○.xxxx = ●●.xxxx; |
更新 | UPDATE ○○ SET ○○='○○' WHERE ○○=○○; |
追加 | INSERT INTO ○○ (○○, ○○,...) VALUES(○○, ○○,....); |
追加 | INSERT INTO ○○ ( xxxx, xxxx,) SELECT ●●. xxxx,●●. xxxx, FROM ▲▲ JOIN ●● ON ●●.lxxxx = ▲▲. xxxx; |
削除 | DELETE FROM ○○ WHERE ○○=○○; |
(※1)
・ASC:昇順(デフォルト)
・DESC:降順
(※2)
グループ化したものに対して絞り込みを行う時は→having
重複データを抽出する
SELECT * FROM people WHERE name IN (SELECT name FROM people GROUP BY name HAVING COUNT(*) > 1);
データベース構築のコツ
★リレーションには1:1(1対1)1:N(1対多)N:N(多対多)がある。
★N:N(多対多)の場合はなるべく中間テーブルを置いて1:N(1対多)の関係を構築する。
★1:N(1対多)の場合、「多」のほうに、「1」のIDを持たせるとよい。