CRUDはcreate、read、update、deleteの頭文字をとった造語で、データベースの処理を表す言葉として知られている。
| 言葉 | 意味 |
|---|---|
| create | 新規に作成する |
| read | 読みこむ(データを選択する) |
| update | 更新する |
| delete | 消す |
データベース(のテーブル)の基本的な処理は
- データを新しく作る
- データを選ぶ
- データを更新する
- データを削除する
の4つがある。
CRUDのそれぞれは、SQLではINSERT、SELECT、UPDATE、DELETEが対応する。
| CRUD | SQL |
|---|---|
| create | INSERT |
| read | SELECT |
| update | UPDATE |
| delete | DELETE |
多くのフレームワークではSQLのCRUDを独自の文法に吸収している。Djangoでは次の関数が対応する。
| SQL | Django |
|---|---|
| INSERT | save |
| SELECT | filter |
| UPDATE | save |
| DELETE | delete |
INSERTはデータの追加、UPDATEはデータの更新を意味するが、この2つはデータを書き換えるという意味で同じで、違いは状況にしかない。つまりデータがなかったら新規に追加し、すでに存在していたら更新する。
実際のところ、フレームワークを使う開発者はCRUDでなくsave, filter, deleteの3つを使う。