DDLãšDMLã®éã
SQLã«ãããDDLãšDMLã®éãããããŒã¿ããŒã¹ã®ç®¡çæ¹æ³ã«ã€ããŠã玹ä»ããŸããDBAãéçºè ã«ãšã£ãŠã¯å¿ é ã®å 容ãããããŸããã

ã®éããçè§£ãã DDL(Data Definition Language) ãš DML (Data Manipulation Language) ã®éããçè§£ããããšã¯ãããŒã¿ããŒã¹ãå¹ççã«ç®¡çã»æäœããäžã§éåžžã«éèŠã§ãããã®èšäºã§ã¯ããã®2ã€ã®å¿ é SQL ã³ãã³ãã®éèŠãªéãã«ã€ããŠæ·±ãæãäžããããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãæé©åããããã®äœ¿ãæ¹ã玹ä»ããŸããSQLåå¿è ã®æ¹ããçµéšè±å¯ãªãããã§ãã·ã§ãã«ã®æ¹ããããŒã¿ããŒã¹ç®¡çã®ã¹ãã«ãåäžããããæ¹ã¯å¿ èªã®èšäºã§ãããããã¯ãããŸããã
ãšã¯äœã§ããïŒ DDL?
DDL(Data Definition Languageã¯ãSQL (Structured Query Language) ã®ãµãã»ããã§ãããŒã¿ããŒã¹ã®æ§é ããããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãããã·ãŒãžã£ãªã©ã®ãªããžã§ã¯ããå®çŸ©ããããã«äœ¿çšãããŸãã DDLã¹ããŒãã¡ã³ãã¯ãããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãã¹ãã¢ãããã·ãŒãžã£ãªã©ã®ããŒã¿ããŒã¹ãªããžã§ã¯ããäœæã倿Žãããã³åé€ããããã«äœ¿çšãããŸããæãäžè¬ç㪠DDLã¹ããŒãã¡ã³ãã«ã¯ã次ã®ãããªãã®ããããŸãã
- CREATE:ãã®ã¹ããŒãã¡ã³ãã¯ãããŒãã«ããã¥ãŒããŸãã¯ã€ã³ããã¯ã¹ãªã©ã®æ°ããããŒã¿ããŒã¹ãªããžã§ã¯ããäœæããŸããããšãã°ã次㮠SQL æã¯ã"customers" ãšããååã®ããŒãã«ãäœæããŸãã
CREATE TABLE customers ( ));id INT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255
- ALTER:ãã®ã¹ããŒãã¡ã³ãã¯ãæ¢åã®ããŒã¿ããŒã¹ãªããžã§ã¯ãã倿Žããããã«äœ¿çšãããŸããããšãã°ã次㮠SQL æã¯ã"customers" ããŒãã«ã« "email" ãšããæ°ããã«ã©ã ã远å ããŸãã
ALTER TABLE customers email ;ADDVARCHAR(255)
- DROP:ãã®ã¹ããŒãã¡ã³ãã¯ãæ¢åã®ããŒã¿ããŒã¹ãªããžã§ã¯ããåé€ããããã«äœ¿çšããŸããäŸãã°ã次ã®SQLæã¯ "customers "ããŒãã«ãåé€ããŸãã
DROP TABLE customers "ããŒãã«ãåé€ããŸãã
-
TRUNCATE:ãã®æã¯ãããŒãã«ã®ãã¹ãŠã®è¡ãåé€ããããã«äœ¿çšãããŸãããDROP æãšã¯ç°ãªããããŒãã«ã®æ§é ãšã€ã³ããã¯ã¹ãä¿æããŸãã
-
RENAME:ãã®ã¹ããŒãã¡ã³ãã¯ãæ¢åã®ããŒã¿ããŒã¹ãªããžã§ã¯ãã®ååã倿Žããããã«äœ¿çšãããŸããããšãã°ã次㮠SQL æã¯ã"customers" ããŒãã«ã®ååã "clients" ã«å€æŽããŸãã
RENAME TABLE customers clients;TO
ããã§éèŠãªã®ã¯ DDLã€ãŸããäžåºŠãªããžã§ã¯ããäœæã倿ŽããŸãã¯åé€ãããšããã®å€æŽã¯å ã«æ»ãããšãã§ããŸãããã€ãŸããäžåºŠãªããžã§ã¯ããäœæã倿ŽããŸãã¯åé€ãããšããã®å€æŽã¯å ã«æ»ããŸããããããã£ãŠãæ³šææ·±ããäœããã®ã¹ããŒãã¡ã³ããå®è¡ããåã«ãããŒã¿ããŒã¹ã®ããã¯ã¢ãããåãããšãäžå¯æ¬ ã§ãã DDLã¹ããŒãã¡ã³ããå®è¡ããåã«ãããŒã¿ããŒã¹ã®ããã¯ã¢ãããåãããšãéèŠã§ããããã« DDLã¹ããŒãã¡ã³ãã¯éåžžãããŒã¿ããŒã¹æ§é ã倿Žããããã®é©åãªæš©éãšç¹æš©ãæã€ããŒã¿ããŒã¹ç®¡çè ãŸãã¯éçºè ã«ãã£ãŠå®è¡ãããŸãã
ãšã¯äœã§ãã DML?
DML(Data Manipulation Language) ã¯ãSQL (Structured Query Language) ã®ãµãã»ããã§ãããŒã¿ããŒã¹å ã®ããŒã¿ãæäœããããã«äœ¿çšãããŸãã DMLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæ¿å ¥ãæŽæ°ãããã³åé€ããããã«äœ¿çšãããŸããæãäžè¬ç㪠DMLã¹ããŒãã¡ã³ãã«ã¯ã次ã®ãããªãã®ããããŸãã
- SELECT:ãã®ã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã® 1 ã€ãŸãã¯è€æ°ã®ããŒãã«ããããŒã¿ãååŸããããã«äœ¿çšãããŸããããšãã°ã次㮠SQL ã¯ãšãªã¯ã"customers" ããŒãã«ãããã¹ãŠã®ã¬ã³ãŒããååŸããŸãã
SELECT * FROM customers;
- INSERT:ãã®ã¹ããŒãã¡ã³ãã¯ãããŒãã«ã«æ°ããããŒã¿ãæ¿å ¥ããããã«äœ¿çšãããŸããäŸãšããŠã次㮠SQL æã¯ã"customers" ããŒãã«ã«æ°ããè¡ãæ¿å ¥ããŸãã
INSERT INTO customers (id, name, address) (1, 'John Smith,' '123 Main St');VALUES
- UPDATE:ãã®ã¹ããŒãã¡ã³ãã¯ãããŒãã«ã®æ¢åã®ããŒã¿ã倿Žããããã«äœ¿çšãããŸããäŸãã°ã次ã®SQLæã¯ã"customers "ããŒãã«ã®IDã1ã®é¡§å®¢ã®äœæãæŽæ°ããŸãã
UPDATE customers address = '456 Park Ave' id = 1;SETWHERE
- DELETE:ãã®ã¹ããŒãã¡ã³ãã¯ãããŒãã«ããããŒã¿ãåé€ããããã«äœ¿çšãããŸããäŸãã°ã次ã®SQLæã¯ã"customers "ããŒãã«ããIDã1ã®ã客æ§ãåé€ãããã®ã§ãã
DELETE FROM customers id = 1;WHERE
DMLã¹ããŒãã¡ã³ãã¯å³åº§ã«å®è¡ãããããŒã«ããã¯ã¹ããŒãã¡ã³ãã§å ã«æ»ãããšãã§ããŸããããã§éèŠãªã®ã¯ DDLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹ãªããžã§ã¯ããäœæã倿Žãããã³åé€ããããã«äœ¿çšãããŸãã DMLã¹ããŒãã¡ã³ãã¯ããããã®ãªããžã§ã¯ãå ã®ããŒã¿ãæäœããããã«äœ¿çšãããŸãã
DMLã¹ããŒãã¡ã³ãã¯éåžžãããŒã¿ãååŸãæŽæ°ãåé€ããããã«ããŒã¿ããŒã¹ãšçžäºäœçšããã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ã®ãããªãšã³ããŠãŒã¶ãŒã«ãã£ãŠå®è¡ãããŸããããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã¯ãã¯ãšãªã®å®è¡åŸã« DMLã¹ããŒãã¡ã³ãã¯ãã¯ãšãªãŒãäœæãããåŸã«å®è¡ãããŸãã
DDL察 DML
DDL(Data Definition Language) ãš DML(Data Manipulation Language) ã¯ã©ã¡ãã SQL (Structured Query Language) ã®ãµãã»ããã§ãããŒã¿ããŒã¹ã管çã»æäœããããã«äœ¿çšãããŸããããããäž¡è ã¯ç°ãªãç®çãæã¡ãç°ãªãç¹æ§ãæã£ãŠããŸãã
DDLã¯ãããŒã¿ããŒã¹ã®æ§é ãšãããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãããã·ãŒãžã£ãªã©ã®ãªããžã§ã¯ããå®çŸ©ããŸãã DDLã¹ããŒãã¡ã³ãã¯ãããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãã¹ãã¢ãããã·ãŒãžã£ãªã©ã®ããŒã¿ããŒã¹ãªããžã§ã¯ããäœæã倿Žãããã³åé€ããããã«äœ¿çšãããŸããã¹ããŒãã¡ã³ãã®äŸ DDLã¹ããŒãã¡ã³ãã®äŸãšããŠã¯ãCREATE, ALTER, DROP, TRUNCATE ãšRENAME ããããŸãã DDLã€ãŸããäžåºŠãªããžã§ã¯ããäœæã倿ŽããŸãã¯åé€ãããšããã®å€æŽã¯å ã«æ»ãããšãã§ããŸãããã€ãŸããäžåºŠãªããžã§ã¯ããäœæã倿ŽããŸãã¯åé€ãããšããã®å€æŽã¯å ã«æ»ããŸããããããã£ãŠãæ³šææ·±ããããŒã¿ããŒã¹ã®ããã¯ã¢ããããšã£ãŠãããã¹ããŒãã¡ã³ããå®è¡ããããšãéèŠã§ãã DDLã¹ããŒãã¡ã³ããå®è¡ããåã«ãããŒã¿ããŒã¹ã®ããã¯ã¢ãããåãããšãéèŠã§ãã DDLã¹ããŒãã¡ã³ãã¯éåžžãããŒã¿ããŒã¹æ§é ã倿Žããããã®é©åãªæš©éãšç¹æš©ãæã€ããŒã¿ããŒã¹ç®¡çè ãŸãã¯éçºè ã«ãã£ãŠå®è¡ãããŸãã
DMLã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæäœããããã«äœ¿çšãããŸãã DMLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæ¿å ¥ãæŽæ°ãããã³åé€ããããã«äœ¿çšãããŸããã¹ããŒãã¡ã³ãã®äŸ DMLã¹ããŒãã¡ã³ãã®äŸãšããŠã¯ãSELECT, INSERT, UPDATE ãããã³DELETE ããããŸãã DMLã¹ããŒãã¡ã³ãã¯ããã«å®è¡ãããããŒã«ããã¯ã¹ããŒãã¡ã³ãã§å ã«æ»ãããšãã§ããŸãã DMLã¹ããŒãã¡ã³ãã¯éåžžãããŒã¿ãååŸãæŽæ°ãåé€ããããã«ããŒã¿ããŒã¹ãšçžäºäœçšããã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ãªã©ããšã³ããŠãŒã¶ãŒã«ãã£ãŠå®è¡ãããŸãã
èŠçŽãããš DDLã¯ããŒã¿ããŒã¹ã®æ§é ãå®çŸ©ã管çããããã«äœ¿çšãããäžæ¹ DMLã¯ããŒã¿ããŒã¹å ã®ããŒã¿ãæäœããããã«äœ¿çšãããŸãã DDLã¹ããŒãã¡ã³ãã¯æ°žä¹ çã§ãããå ã«æ»ãããšã¯ã§ããŸããã DMLã¹ããŒãã¡ã³ãã¯ããã«å®è¡ãããå ã«æ»ãããšãã§ããŸãã DDLã¹ããŒãã¡ã³ãã¯æš©éã®ãã人ãå®è¡ããã®ã«å¯Ÿãããšã³ããŠãŒã¶ãŒãå®è¡ããã®ã¯ DMLã¹ããŒãã¡ã³ããå®è¡ããŸãã
ãªã DDL?
DDL(Data Definition Languageã¯ãããŒã¿ããŒã¹ã®æ§é ãšãã®ãªããžã§ã¯ãïŒããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãããã·ãŒãžã£ãªã©ïŒãå®çŸ©ããŸãã DDLã¹ããŒãã¡ã³ãã¯ãããŒãã«ããã¥ãŒãã€ã³ããã¯ã¹ãã¹ãã¢ãããã·ãŒãžã£ãªã©ã®ããŒã¿ããŒã¹ãªããžã§ã¯ããäœæã倿Žãããã³åé€ããããã«äœ¿çšãããŸãããå¿ èŠãªçç±ã¯ããã€ããããŸãã DDLãå¿ èŠãªçç±ã¯ããã€ããããŸãã
-
ããŒã¿ããŒã¹ã®äœæãšç®¡çã DDLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹ã®æ§é ãäœæãã管çããããã«äœ¿çšãããŸããã䜿ãã° DDLãããã°ãããŒã¿ããŒã¹ã®æ§é ãéçºããç¶æããããšã容æã«ãªããŸãã
-
ããŒã¿ã®æŽåæ§ã DDLã¹ããŒãã¡ã³ãã¯ããã©ã€ããªããŒãå€éšããŒããŠããŒã¯ããŒãªã©ã®ããŒã¿æŽåæ§å¶çŽã匷å¶ããŸãããããã®å¶çŽã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæ£ç¢ºã§äžè²«æ§ã®ãããã®ã§ããããšãä¿èšŒããã®ã«åœ¹ç«ã¡ãŸãã
-
ããã©ãŒãã³ã¹ã DDLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãåäžãããã€ã³ããã¯ã¹ããã®ä»ã®ããŒã¿ããŒã¹ãªããžã§ã¯ããäœæããããã«äœ¿çšãããŸããäŸãã°ãããŒãã«ã«ã€ã³ããã¯ã¹ãäœæãããšããã®ããŒãã«ã«å¯Ÿããã¯ãšãªãŒã®é床ãåäžãããããšãã§ããŸãã
-
ããŒã¿ã»ãã¥ãªãã£ã DDLã¹ããŒãã¡ã³ãã䜿çšããŠãããŒã¿ããŒã¹ãªããžã§ã¯ãã«ã¢ã¯ã»ã¹æš©ãèšå®ãã誰ãã¢ã¯ã»ã¹ããæäœã§ããããå¶åŸ¡ããããšãã§ããŸããããã«ãããèš±å¯ããããŠãŒã¶ãŒã®ã¿ãããŒã¿ããŒã¹ã®ããŒã¿ã«ã¢ã¯ã»ã¹ãã倿Žã§ããããã«ããããšãã§ããŸãã
-
ããŒã¿ã®ããã¯ã¢ãããšãªã«ããªãŒã DDLã¹ããŒãã¡ã³ãã䜿çšããŠãããã¯ã¢ãããšãªã«ããªã®æé ãäœæããç¶æããããšãã§ããŸããããã¯ãé害ãçºçããå Žåã«ããŒã¿ããŒã¹ã確å®ã«åŸ©å ã§ããããã«ããããã«åœ¹ç«ã¡ãŸãã
DDLã¯ãããŒã¿ããŒã¹ã®æ§é ã®äœæãšç®¡çãããŒã¿ã®æŽåæ§ã®åŒ·åãããã©ãŒãã³ã¹ã®åäžãããŒã¿ã®å®å šæ§ã®ç¢ºä¿ãããã¯ã¢ãããšãªã«ããªã®æé ã®ç¶æã«äœ¿çšããããããéèŠã§ãããããã®æ©èœã¯ãã¹ãŠãããŒã¿ããŒã¹ãåæ»ãå®å šãå¹ççã«éçšããããã«äžå¯æ¬ ãªãã®ã§ãã
ãªã DML?
DML(Data Manipulation Language) ã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæäœããããã«äœ¿çšãããŸãã DMLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ãæ¿å ¥ãæŽæ°ãããã³åé€ããããã«äœ¿çšãããŸãããéèŠã§ããçç±ã¯ããã€ããããŸãã DMLãéèŠã§ããçç±ã¯ããã€ããããŸãã
-
ããŒã¿ã®å ¥åãšã¡ã³ããã³ã¹ DMLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹ã«æ°ããããŒã¿ãæ¿å ¥ããæ¢åã®ããŒã¿ãæŽæ°ãŸãã¯åé€ããããã«äœ¿çšãããŸããããã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ã®æ£ç¢ºæ§ãšå®å šæ§ãç¶æããããã«äžå¯æ¬ ã§ãã
-
ããŒã¿ã®æ€çŽ¢ã DMLSELECT ã¹ããŒãã¡ã³ãã®ãããªã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã® 1 ã€ä»¥äžã®ããŒãã«ããããŒã¿ãååŸããããã«äœ¿çšãããŸããããã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ã«ã¢ã¯ã»ã¹ããåæããã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ã«ãšã£ãŠäžå¯æ¬ ãªãã®ã§ãã
-
ããŒã¿ã®æŽåæ§ã DMLã¹ããŒãã¡ã³ãã¯ãé¢é£ããããŒãã«ã®ããŒã¿ãæŽæ°ãŸãã¯åé€ããããšã«ãã£ãŠãåç §æŽåæ§ã®ãããªããŒã¿ã®æŽåæ§å¶çŽã匷å¶ããããã«äœ¿çšããããšãã§ããŸãã
-
ããŒã¿ç£æ»ã DMLã¹ããŒãã¡ã³ãã䜿çšããŠã誰ããã€å€æŽããããªã©ãããŒã¿ããŒã¹å ã®ããŒã¿ã®å€æŽã远跡ããããšãã§ããŸããããã¯ãç£æ»ãã³ã³ãã©ã€ã¢ã³ã¹ã«æå¹ã§ãã
-
ããŒã¿ã®ããã¯ã¢ãããšãªã«ããªã DMLã¹ããŒãã¡ã³ãã䜿çšããŠãããã¯ã¢ãããšãªã«ããªã®æé ãäœæããã³ç¶æããããšãã§ããŸããããã¯ãé害ãçºçããå Žåã«ãããŒã¿ããŒã¹ã確å®ã«åŸ©å ããã®ã«åœ¹ç«ã¡ãŸãã
DMLã¯ãããŒã¿ããŒã¹ãžã®ããŒã¿ã®æ¿å ¥ãæŽæ°ãåé€ãããŒã¿ããŒã¹ããã®ããŒã¿ã®ååŸãããŒã¿ã®æŽåæ§ã®åŒ·åãããŒã¿ãžã®å€æŽã®è¿œè·¡ãããã¯ã¢ããããã³ãªã«ããªæé ã®ç¶æã«äœ¿çšããããããéèŠã§ãããããã®æ©èœã¯ãã¹ãŠãã¹ã ãŒãºã§æ£ç¢ºããã€å¹ççãªããŒã¿ããŒã¹éçšã«äžå¯æ¬ ãªãã®ã§ãã
ãããã質å
ãšã¯ã©ãéãã®ã§ããïŒ DDLãš DML?
DDL(Data Definition Language) ã¯ãããŒã¿ããŒã¹ã¹ããŒããå®çŸ©ããããã® SQL ã³ãã³ãã®ã»ããã§ããåã«ããŒã¿ããŒã¹ã¹ããŒãã®èšè¿°ãæ±ããã®ã§ãããŒã¿ããŒã¹ãªããžã§ã¯ãã®æ§é ãäœæã»å€æŽããããã«äœ¿çšãããŸããäŸ DDLæã®äŸãšããŠã¯ãCREATE, ALTER, ããã³DROP ããããŸãã
DML(Data Manipulation Language) ã§äœæãããã¹ããŒãå ã®ããŒã¿ãæäœããããã«äœ¿çšãããSQLã³ãã³ã矀ã§ãã DDL.å®éã®ããŒã¿ãæ±ããããŒã¿ããŒã¹ãžã®ããŒã¿ã®æ¿å ¥ãæŽæ°ãååŸã«äœ¿çšãããŸããã¹ããŒãã¡ã³ãã®äŸ DMLæã®äŸãšããŠã¯ãSELECT, INSERT, UPDATE ãããã³DELETE ããããŸãã
ã¹ããŒãã¡ã³ãã DDLã¹ããŒãã¡ã³ããããŒã«ããã¯ã§ããŸããïŒ
ãããã DDLã¹ããŒãã¡ã³ãã¯ããŒã¿ããŒã¹ã¹ããŒããæ°žä¹ ã«å€æŽãããããããŒã«ããã¯ããããšã¯ã§ããŸããã
ã¹ããŒãã¡ã³ãã DMLã¹ããŒãã¡ã³ããããŒã«ããã¯ããããšã¯ã§ããŸããïŒ
ã¯ããã§ããŸãã DMLã¹ããŒãã¡ã³ãã¯ãããŒã¿ããŒã¹å ã®ããŒã¿ã«äžæçãªå€æŽãå ããã®ã§ãããŒã«ããã¯ããããšãã§ããŸãã
ã©ã®SQLã¹ããŒãã¡ã³ããå«ãŸããŸããïŒ DDL?
DDLã¯ãããŒãã«ãã€ã³ããã¯ã¹ããŠãŒã¶ãŒãªã©ã®ããŒã¿ããŒã¹æ§é ãäœæã倿Žãåé€ããããã«äœ¿çšãããCREATE, ALTER ãããã³DROP ã®ãããªSQLã¹ããŒãã¡ã³ããå«ãã§ããŸãã
ã«å«ãŸããSQLæã¯ïŒ DML?
DMLã¯ãSELECT, INSERT, UPDATE ãDELETE ãªã©ã® SQL æãå«ã¿ãŸãããããã¯ãããŒã¿ããŒã¹ããããŒã¿ãååŸãæ¿å ¥ãæŽæ°ãããã³åé€ããããã«äœ¿çšãããŸãã
ã®å®è¡é åºã¯äœã§ããïŒ DDLãš DMLæã®å®è¡é åºã¯ïŒ
DDLã¹ããŒãã¡ã³ããå ã«å®è¡ããããã®åŸã« DMLã¹ããŒãã¡ã³ããå ã«å®è¡ããããã®åŸã«å®è¡ãããŸããããã¯ãããŒã¿ãæäœããåã«ããŒã¿ããŒã¹ã¹ããŒããå®çŸ©ããå¿ èŠãããããã§ãã


