°úÁ¤ ¸ñÇ¥

º» °úÁ¤¿¡¼­´Â Å×ÀÌºí¿¡ ÇàÀ» »ðÀÔÇÏ°í, Å×ÀÌºí¿¡ ÀÖ´Â ±âÁ¸ÀÇ ÇàÀ» °»½ÅÇÏ°í ±×¸®°í Å×À̺í·ÎºÎÅÍ ±âÁ¸ÀÇ ÇàÀ» »èÁ¦ÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù. ¶ÇÇÑ COMMIT, SAVEPOINT ±×¸®°í ROLLBACK ¹®ÀåÀ¸·Î Æ®·£Àè¼ÇÀ» Á¦¾îÇÏ´Â ¹æ¹ýÀ» ¹è¿ó ´Ï´Ù.

 

µ¥ÀÌÅÍ Á¶ÀÛ¾î

DML(Data manipulation language)Àº SQLÀÇ ÇÙ½É ºÎºÐÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ Ãß°¡, °»½Å ¶Ç´Â »èÁ¦ÇÏ°íÀÚ ÇÑ´Ù¸é DML ¹®ÀåÀ» ½ÇÇàÇÕ´Ï´Ù. ÀÛ¾÷ÀÇ ³í¸®ÀûÀÎ ´ÜÀ§ ÇüÅÂÀÎ DML ¹®ÀåÀÇ ¸ðÀ½À» Æ®·£Àè¼ÇÀ̶ó°í ÇÕ´Ï´Ù.

ÀºÇà µ¥ÀÌÅͺ£À̽º¸¦ °í·ÁÇØ º¾½Ã´Ù. ÀºÇà °í°´ÀÌ ÀúÃ༺ ¿¹±ÝÀ» ´çÁ ¿¹±ÝÀ¸·Î Àü´ÞÇÒ ¶§, Æ®·£Àè¼ÇÀº ¼¼ °¡ÁöÀÇ ºÐ¸®µÇ´Â ÀÛ¾÷À¸·Î ±¸¼ºµË´Ï´Ù: ÀúÃ༺ ¿¹±Ý °¨¼Ò, ´çÁ ¿¹±Ý Áõ°¡ ±×¸®°í Æ®·£Àè¼Ç ÀÏÁö¿¡ Æ®·£Àè¼ÇÀ» ±â·Ï. ¿À¶óŬ ¼­¹ö´Â ¿Ã¹Ù¸£°Ô  ¿¹±ÝÀ» À¯ÁöÇϱâ À§ÇØ ¼¼ °¡Áö SQL ¹®Àå ¸ðµÎ°¡ ¼öÇàµÇµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ´©±º°¡°¡ ½ÇÇà ½Ã¿¡ Æ®·£Àè¼ÇÀÇ ¹®Àå ÁßÀÇ Çϳª¸¦ ¸·¾Æ ¹ö¸°´Ù¸é, ±× Æ®·£Àè¼Ç ³»ÀÇ ´Ù¸¥ ¹®ÀåÀº Ãë¼ÒµÇ¾î¾ß ÇÕ´Ï´Ù.

 

Å×ÀÌºí¿¡ »õ·Î¿î Çà Ãß°¡

À§ÀÇ ±×·¡ÇÁ´ÂDEPT Å×ÀÌºí¿¡ »õ·Î¿î ºÎ¼­¸¦ Ãß°¡ÇÕ´Ï´Ù.

 

Å×ÀÌºí¿¡ »õ·Î¿î Çà Ãß°¡(°è¼Ó)

INSERT ¹®ÀåÀ» ½ÇÇàÇÏ¿© Å×ÀÌºí¿¡ »õ·Î¿î ÇàÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®Çü½Ä¿¡¼­:

        table                   Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù.
        column               Å×À̺íÀÇ ¿­ À̸§ÀÔ´Ï´Ù.
        value                  ¿­¿¡ ÇØ´çµÇ´Â °ªÀÔ´Ï´Ù.

ÁÖ: VALUES ÀýÀ» °¡Áö´Â ÀÌ ¹®ÀåÀº Å×ÀÌºí¿¡ Çѹø¿¡ ¿ÀÁ÷ ÇϳªÀÇ ÇุÀ» Ãß°¡ÇÕ´Ï´Ù.

 

Å×ÀÌºí¿¡ »õ·Î¿î Çà Ãß°¡(°è¼Ó)

°¢°¢ÀÇ ¿­¿¡ ´ëÇÑ °ªÀ» Æ÷ÇÔÇÏ´Â »õ·Î¿î ÇàÀ» »ðÀÔÇÒ ¼ö Àֱ⠶§¹®¿¡ ¿­ ¸ñ·ÏÀº INSERT Àý¿¡ ¼­ ¿ä±¸µÇÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ¿­ ¸ñ·ÏÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é °ªÀº Å×ÀÌºí¿¡ ÀÖ´Â ¿­ÀÇ µðÆúÆ® ¼ø¼­·Î ³ª¿­µÇ¾î¾ß¸¸ ÇÕ´Ï´Ù.

SQL> DESCRIBE  dept


Name                            Null?    Type
------------------------------- -------- ------------
DEPTNO                          NOT NULL NUMBER(2)
DNAME                                    VARCHAR2(14)
LOC                                      VARCHAR2(13)

¸í·áÇÔÀ» À§Çؼ­ INSERT Àý¿¡¼­ ¿­ ¸ñ·ÏÀ» »ç¿ëÇÕ´Ï´Ù.
¹®ÀÚ¿Í ³¯Â¥ °ªÀº ´ÜÀÏ Àοë Ç¥½Ã ³»¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¼ýÀÚ °ªÀº ´ÜÀÏ Àοë Ç¥½Ã ³»¿¡ µÎ¾î¼­´Â ¾ÈµË´Ï´Ù.

NULL °ªÀ» »ðÀÔÇϱâ À§ÇÑ ¹æ¹ý
 

¹æ ¹ý   

¼³ ¸í

¾Ï½ÃÀû

¿­ ¸ñ·ÏÀ¸·ÎºÎÅÍ ¿­À» »ý·«ÇÕ´Ï´Ù.

¸í½ÃÀû 

VALUES ¸ñ·Ï¿¡ NULL Å°¿öµå¸¦ ¸í½ÃÇÕ´Ï´Ù.

VALUES ¸ñ·Ï¿¡ °ø¹é ½ºÆ®¸µ(' ')À» ¸í½ÃÇÕ´Ï´Ù. ¹®ÀÚ ½ºÆ®¸µ°ú ³¯Â¥ ½ºÆ®¸µÀÇ °æ¿ì¿¡¸¸.

SQL*Plus DESCRIBE ¸í·É¾î·ÎºÎÅÍ Null? »óŸ¦ °Ë»çÇÏ¿© ¸ñÇ¥(target) ¿­ÀÌ ³Î °ªÀ» Çã¿ëÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ

¿À¶óŬ ¼­¹ö´Â ÀÚµ¿ÀûÀ¸·Î ¸ðµç µ¥ÀÌÅÍÇü, µ¥ÀÌÅÍ ¹üÀ§ ±×¸®°í µ¥ÀÌÅÍ ¹«°á¼º Á¦¾àÁ¶°ÇÀ» °­¿äÇÕ´Ï´Ù.

SQL ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© Ư¼ö °ª »ðÀÔ

Å×ÀÌºí¿¡ Ư¼ö °ªÀ» ÀÔ·ÂÇϱâ À§Çؼ­ Àǻ翭(pseudocolumn)À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
À§ÀÇ ¿¹´Â EMP Å×ÀÌºí¿¡ ÀÖ´Â Á¾¾÷¿ø Green¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇÕ´Ï´Ù. HIREDATE ¿­¿¡ ÇöÀç ½Ã°£°ú ³¯Â¥¸¦ ÀÔ·ÂÇÕ´Ï´Ù. ÇöÀç ³¯Â¥¿Í ½Ã°£À» À§Çؼ­ SYSDATE ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.
¶ÇÇÑ Å×ÀÌºí¿¡ ÇàÀ» ÀÔ·ÂÇÒ ¶§ USER ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Å×ÀÌºí¿¡ Ãß°¡ÇÑ ³»¿ëÀ» È®ÀÎ

 

 SQL> SELECT  empno, ename, job, hiredate, comm
   2  FROM    emp
   3  WHERE   empno = 7196;


    EMPNO ENAME      JOB       HIREDATE       COMM
--------- ---------- --------- --------- ---------
     7196 GREEN      SALESMAN  01-DEC-97

 

ƯÁ¤ ³¯Â¥¿Í ½Ã°£ °ª ÀÔ·Â

Çü½Ä DD-MON-YY´Â Ç×»ó ³¯Â¥ °ªÀ» ÀÔ·ÂÇÒ ¶§ »ç¿ëµË´Ï´Ù. ÀÌ Çü½ÄÀ¸·Î ÇöÀç ¼¼±â¿¡ ´ëÇÑ µðÆúÆ® ¼¼±â¸¦ ´Ù½Ã È£ÃâÇÕ´Ï´Ù. ³¯Â¥°¡ ½Ã°£ Á¤º¸¸¦ Æ÷ÇÔÇϹǷΠµðÆúÆ® ½Ã°£Àº ÀÚÁ¤(00:00:00)ÀÔ´Ï´Ù.

³¯Â¥¸¦ ´Ù¸¥ ¼¼±â·Î ÀÔ·ÂÇϱ⸦ ¿øÇÏ°í, ¶Ç ƯÁ¤ ½Ã°£À» ¿ä±¸ÇÑ´Ù¸é TO_DATE ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

½½¶óÀ̵åÀÇ ¿¹´Â EMP Å×ÀÌºí¿¡ Á¾¾÷¿ø Aromano ¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇÕ´Ï´Ù. HIREDATE ¿­À» February 3, 1997·Î ¼³Á¤ÇÕ´Ï´Ù.

ÁÖ: RR Çü½ÄÀ» ¼³Á¤ÇÑ´Ù¸é ¾Æ¸¶µµ ¼¼±â´Â ÇöÀç ¼¼±â°¡ ¾Æ´Ò ¼öµµ ÀÖ½À´Ï´Ù.

´Ù¸¥ Å×À̺í·ÎºÎÅÍ Çà º¹»ç

±âÁ¸ÀÇ Å×À̺í·ÎºÎÅÍ °ªÀ» °¡Á®¿Í Å×ÀÌºí¿¡ Ãß°¡Çϱâ À§Çؼ­ INSERT ¹®ÀåÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. VALUES Àý¿¡¼­ ¼­ºêÄõ¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®Çü½Ä

 INSERT INTO table [ column (, column) ]
             subquery;


¿©±â¼­:      table               Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù.
                column            Å×ÀÌºí¿¡ ÀÖ´Â ¿­ÀÇ À̸§ÀÔ´Ï´Ù.
                subquery        ÇàÀ» Å×ÀÌºí¿¡ ¸®ÅÏÇÒ ¼­ºêÄõ¸®ÀÔ´Ï´Ù.

¡°SELECT,¡± ¼­ºêÄõ¸®¿¡ ´ëÇؼ­ º¸´Ù ¸¹Àº Á¤º¸¸¦ ¾Ë°íÀÚ ÇÑ´Ù¸é,  Oracle Server SQL Reference, Release 7.3 ¶Ç´Â 8.0 À» ÂüÁ¶ÇϽʽÿÀ.

INSERT ÀýÀÇ ¿­ ¸ñ·Ï¿¡¼­ ¿­ÀÇ °³¼ö¿Í ±×µéÀÇ µ¥ÀÌÅÍÇüÀº ¼­ºêÄõ¸®¿¡ ÀÖ´Â °ªÀÇ °³¼ö¿Í ±×µéÀÇ µ¥ÀÌÅÍÇü°ú ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.

Å×ÀÌºí µ¥ÀÌÅÍ º¯°æ

À§ÀÇ ±×·¡ÇÁ´Â ClarkÀÇ ºÎ¼­ ¹øÈ£¸¦ 10¿¡¼­ 20À¸·Î º¯°æÇÕ´Ï´Ù.

 

Çà °»½Å

UPDATE ¹®ÀåÀ» »ç¿ëÇÏ¿© ±âÁ¸ÀÇ ÇàÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

À§ÀÇ ±¸¹®Çü½Ä¿¡¼­:

        table               Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù.
        column           Å×À̺íÀÇ ¿­ À̸§ÀÔ´Ï´Ù.
        value              ¿­¿¡ ´ëÇÑ °ü·Ã °ªÀ̳ª ¼­ºêÄõ¸®ÀÔ´Ï´Ù.
        condition        °»½ÅÇÒ ÇàÀ» ¸í½ÃÇÏ°í, ¿­ À̸§, Ç¥Çö½Ä, »ó¼ö, ¼­ºêÄõ¸® ±×¸®°í ºñ±³                               ¿¬»çÀÚ·Î ±¸¼ºµË´Ï´Ù.

°»½ÅµÈ ÇàÀ» µð½ºÇ÷¹ÀÌÇϱâ À§ÇØ Å×À̺íÀ» ÁúÀÇÇÏ¿© °»½Å ÀÛ¾÷À» È®ÀÎÇÕ´Ï´Ù.

¡°UPDATE.¡± ¿¡ ´ëÇؼ­ º¸´Ù ¸¹Àº Á¤º¸¸¦ ¾Ë°íÀÚ ÇÑ´Ù¸é,  Oracle Server SQL Reference, Release 7.3 ¶Ç´Â 8.0 À» ÂüÁ¶ÇϽʽÿÀ.

ÁÖ: ÀϹÝÀûÀ¸·Î ´ÜÀÏ ÇàÀ» ½Äº°Çϱâ À§Çؼ­ ±âº» Å°(primary key)¸¦ »ç¿ëÇÕ´Ï´Ù. ´Ù¸¥ ¿­À» »ç¿ëÇÏ¸é ¿øÇÏÁö ¾Ê´Â ¿©·¯ ÇàÀÌ °»½ÅµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, À̸§À¸·Î EMP Å×ÀÌºí¿¡¼­ ´ÜÀÏ ÇàÀ» ½Äº°ÇÏ¸é ¶È°°Àº À̸§À» °¡Áö´Â Á¾¾÷¿øÀÌ ¿©·¯ ¸íÀÌ ÀÖÀ» ¼ö Àֱ⠶§¹®¿¡ ¸ðÈ£ÇØÁý ´Ï´Ù.

 

Çà °»½Å(°è¼Ó)

UPDATE ¹®ÀåÀº ƯÁ¤ Çà(µé)À» °»½ÅÇÕ´Ï´Ù. WHERE ÀýÀÌ ¸í½ÃµÇ¾ú´Ù¸é, À§ÀÇ ¿¹´Â Á¾¾÷¿ø 7782(Clark)¸¦ ºÎ¼­ ¹øÈ£ 20À¸·Î Àü´ÞÇÕ´Ï´Ù.
WHERE ÀýÀ» »ý·«Çϸé Å×À̺íÀÇ ¸ðµç ÇàÀÌ °»½ÅµË´Ï´Ù.

SQL> SELECT  ename, deptno
  2  FROM    employee;

ENAME         DEPTNO
---------- ---------
KING              20
BLAKE             20
CLARK             20
JONES             20
MARTIN            20
ALLEN             20
TURNER            20
...
14 rows selected.


ÁÖ: EMPLOYEE  Å×À̺íÀº EMP¿Í ¶È°°Àº µ¥ÀÌÅ͸¦ °¡Áý´Ï´Ù.

 

´ÙÁß ¿­ ¼­ºêÄõ¸®·Î Çà °»½Å

´ÙÁß ¿­ ¼­ºêÄõ¸®´Â UPDATE ¹®ÀåÀÇ SET Àý·Î ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®Çü½Ä

  UPDATE         table
  SET   (column, column, ...) =
                (SELECT column, column,
                 FROM   table
                 WHERE  condition)
  WHERE condition;      

 

Å×À̺í·ÎºÎÅÍ Çà Á¦°Å

À§ÀÇ ±×·¡ÇÁ´Â DEPT Å×À̺í(DEPT Å×ÀÌºí¿¡´Â Á¤ÀÇµÈ Á¦¾àÁ¶°ÇÀÌ ¾ø´Ù°í °¡Á¤ÇÕ´Ï´Ù)·ÎºÎÅÍ DEVELOPMENT ºÎ¼­¸¦ Á¦°ÅÇÕ´Ï´Ù.

 

Çà »èÁ¦

DELETE ¹®ÀåÀ» »ç¿ëÇÏ¿© ±âÁ¸ÀÇ ÇàÀ» Á¦°ÅÇÕ´Ï´Ù.

±¸¹®Çü½Ä¿¡¼­:

table

Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù.

condition

»èÁ¦µÈ ÇàÀ» ¸í½ÃÇÏ°í, ¿­ À̸§, Ç¥Çö½Ä, »ó¼ö, ¼­ºêÄõ¸® ±×¸®°í ºñ±³ ¿¬»êÀÚ·Î ±¸¼ºµË´Ï´Ù.

¡°DELETE.¡± ¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇÑ´Ù¸é Oracle Server SQL Reference, Release 8.0 À» ÂüÁ¶ÇϽʽÿÀ.

 

Çà »èÁ¦(°è¼Ó)

DELETE ¹®Àå¿¡ WHERE ÀýÀ» ¸í½ÃÇÏ¿© ƯÁ¤ Çà(µé)À» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹´Â DEPARTMENT Å×À̺í·ÎºÎÅÍ DEVELOPMENT ºÎ¼­¸¦ »èÁ¦ÇÕ´Ï´Ù. SELECT ¹®ÀåÀ» »ç¿ëÇÏ¿© »èÁ¦µÈ ÇàÀ» µð½ºÇ÷¹ÀÌÇÏ¿© »èÁ¦ ÀÛ¾÷À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

SQL> SELECT  *
  2  FROM    department
  3  WHERE   dname = 'DEVELOPMENT';
no rows selected.

¿¹

January 1, 1997 ÀÌÈÄ¿¡ ÀÔ»çÇÑ ¸ðµç Á¾¾÷¿øÀ» Á¦°ÅÇÕ´Ï´Ù.

SQL> DELETE FROM  emp
  2  WHERE        hiredate > TO_DATE('01.01.97', 'DD.MM.YY');
1 row deleted.

WHERE ÀýÀ» »ý·«ÇÑ´Ù¸é Å×ÀÌºí¿¡ ÀÖ´Â ¸ðµç ÇàÀÌ »èÁ¦µÉ °ÍÀÔ´Ï´Ù. ½½¶óÀ̵åÀÇ µÎ¹ø° ¿¹´Â WHERE ÀýÀ» ¸í½ÃÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ DEPARTMENT Å×À̺íÀÇ ¸ðµç ÇàÀ» »èÁ¦ÇÕ´Ï´Ù.

ÁÖ: DEPARTMENT Å×À̺íÀº DEPT Å×À̺í°ú ¶È°°Àº µ¥ÀÌÅ͸¦ °¡Áý´Ï´Ù.

´Ù¸¥ Å×À̺íÀ» ±Ù°Å·Î ÇÏ´Â Çà »èÁ¦

´Ù¸¥ Å×À̺íÀÇ °ªÀ» ±Ù°Å·Î Å×À̺í·ÎºÎÅÍ ÇàÀ» »èÁ¦Çϱâ À§ÇØ ¼­ºêÄõ¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹´Â ºÎ¼­ 30¿¡ ÀÖ´Â ¸ðµç Á¾¾÷¿øÀ» »èÁ¦ÇÕ´Ï´Ù. ¼­ºêÄõ¸®´Â SALES ºÎ¼­¿¡ ´ëÇØ ºÎ¼­ ¹øÈ£¸¦ ¾Ë±â À§Çؼ­ DEPT Å×À̺íÀ» °Ë»öÇÕ´Ï´Ù. ±×·± ´ÙÀ½¿¡ ¼­ºêÄõ¸®´Â ÀÌ ºÎ¼­ ¹øÈ£¸¦ ±Ù°Å·Î ÇÏ´Â EMPLOYEE Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅÍÀÇ ÇàÀ» »èÁ¦ÇÏ´Â ¸ÞÀÎ Äõ¸®·Î ºÎ¼­ ¹øÈ£¸¦ ³Ñ°ÜÁÝ´Ï´Ù.

 

¹«°á¼º Á¦¾àÁ¶°Ç ¿¡·¯

¹«°á¼º Á¦¾àÁ¶°ÇÀ» À§¹ÝÇϵµ·Ï ·¹Äڵ带 »èÁ¦ÇÏ°íÀÚ ÇÑ´Ù¸é ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.
À§ÀÇ ¿¹´Â DEPT Å×À̺í·ÎºÎÅÍ ºÎ¼­ ¹øÈ£ 10À» »èÁ¦ÇÏ·Á°í ½ÃµµÇÏÁö¸¸, ºÎ¼­ ¹øÈ£¸¦ EMP Å×ÀÌºí¿¡ ÀÖ´Â ¿Ü·¡ Å°(foreign key)°¡ »ç¿ëÇϱ⠶§¹®¿¡ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù. »èÁ¦ÇÏ·Á°í ÇÏ´Â ºÎ¸ð ·¹Äڵ尡 ÀÚ½Ä ·¹Äڵ带 °¡Áö°í ÀÖ´Ù¸é child record found violation ORA-02292¶ó´Â ¿¡·¯ ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù.