【DB】DDL、DML、DCLとは??
最近SQLの勉強をやりなおしています。
仕事の現場で複雑なSQLを扱う事が多くなったので、基礎からやりなおす。
ずっと10年くらい、なんとなーくやってきた。
なんとかなってきたんだけど、色々わかってないままやっているので。。。
という事で
・DDL
・DML
とは何か、改めて確認する。
DCLというのもあるらしいけど、現場で聞いた事ない単語だな。。
DDLとは
DDLとは、よく(データ定義言語)と言われている
(Data Definition Language)
の略らしい。
わかりやすく言うと
「データベースやテーブルを作ったり構造変更したり削除するのがDDL!!」
と覚えておけば問題ない。
・CREATE
・DROP
・ALTER
が「DDL」ですね。
データベースに何かするならDDL。
例)
CREATE DATABASE company;
国別データベースを作成
DROP DATABASE company;
国別データベースを削除
ALTER TABLE company
ADD COLUMN comoany_code VARCHAR(15);
国別テーブルに国コードを追加
これらは全部DDLです!!
もう一度言います
create, drop,alterはDDLです。
DMLとは
DMLは(データ操作言語)のこと
(Data Manipulation Language)
sqlで言うなら
・select
・update
・delete
・insert
の4つがDMLです。
毎日使う作業の90%がこれですね。
例)
SELECT * FROM company;
会社テーブルを表示
UPDATE company
SET salary = 550000
WHERE id = 123;
会社テーブルのid123のサラリーを550000に変更
DELETE FROM company
会社テーブルを削除!!
INSERT INTO company (id, first_name, last_name, email, date, salary)
VALUES (1, '太郎', '山田', 'tarou@example.com', '2022-01-15', 50000);
会社テーブルにデータ追加
これらは全部DMLです!!
DCLとは
最後がなじみのない
DCL(データ制御言語)
(Data Control Language)
これは
COMMIT :SQLを確定する
ROLLBACK :SQLで行った変更を取り消す
GRANT :ユーザに権限を与える
REVOKE :ユーザから権限を削除
の4つのことらしい。
コミットはGITでよく使うからなんとなくわかる。
ロールバックも、まあまあわかるかな
REVOKEというのは初耳です。
権限削除ってあんまやらないよね
GRANTはサーバーで使ったりするけど、SQLで使ったことない。
-0 Comment-