【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で使ったことない。

 

 

 

 

 

コメント