6-2.»èÁ¦

1.DELETE

·¹Äڵ带 »èÁ¦ÇÒ ¶§´Â DELETE ¸í·ÉÀ» »ç¿ëÇÑ´Ù. »èÁ¦´Â Ç×»ó ·¹ÄÚµå ´ÜÀ§·Î ¼öÇàÇϹǷΠ¿­¿¡ ´ëÇÑ ÁöÁ¤Àº ¾ø´Ù.

 

DELETE FROM Å×À̺í WHERE Á¶°Ç

 

INSERT´Â ÀüÄ¡»ç INTO¸¦ ¾²´Âµ¥ ºñÇØ DELETE´Â ÀüÄ¡»ç FROMÀ» ¾´´Ù. ¿À¶óŬ°ú SQL Server´Â FROMÀÇ »ý·«À» Çã¿ëÇÏÁö¸¸ MariaDB´Â »ý·«½Ã ¿¡·¯ ó¸®ÇÑ´Ù. °á±¹ ȣȯ¼ºÀ» À§ÇØ DELETE ¸í·É ´ÙÀ½¿¡´Â FROMÀ» Ç×»ó ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù.

»èÁ¦ µ¿ÀÛÀº ƯÁ¤ Á¶°Ç¿¡ ¸Â´Â ·¹Äڵ带 ã¾Æ Á¦°ÅÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀ̾ WHERE ÀýÀÌ Ç×»ó µÚµû¶ó ¿Â´Ù. ´ÙÀ½ ¸í·ÉÀº µµ½Ã¸íÀÌ ¡®ºÎ»ê¡¯ÀÎ ·¹Äڵ带 »èÁ¦ÇÑ´Ù.

 

DELETE FROM tCity WHERE name = 'ºÎ»ê';

 

ºÎ»êÀÌ Çϳª¹Û¿¡ ¾ø¾î »èÁ¦ÇÒ ·¹ÄÚµå´Â Çϳª»ÓÀÌ´Ù. WHERE Á¶°Ç¿¡ ¸Â´Â ·¹Äڵ尡 ¿©·¯ °³ÀÌ¸é ¸ðµÎ »èÁ¦ÇÑ´Ù. ´ÙÀ½ ¸í·ÉÀº °æ±âµµ¿¡ ÀÖ´Â ¸ðµç µµ½Ã¸¦ »èÁ¦ÇÑ´Ù.

 

DELETE FROM tCity WHERE region = '°æ±â';

 

DELETE ¸í·ÉÀº º°µµÀÇ È®ÀξøÀÌ Á¶°Ç¿¡ ¸Â´Â ·¹Äڵ带 Áï½Ã »èÁ¦ÇÑ´Ù. ºÎ»ê°ú °æ±âµµ ¼Ò¼ÓÀÇ µµ½Ã 2°³°¡ ÁøÂ¥·Î »ç¶óÁ® ¹ö¸°´Ù. SELECT ¹®À¸·Î È®ÀÎÇØ º¸ÀÚ.

¿À¶óŬÀº »èÁ¦ »ç½ÇÀ» Àӽà ¿µ¿ª¿¡ ±â·ÏÇϹǷΠROLLBACK ¸í·ÉÀ¸·Î »èÁ¦¸¦ Ãë¼ÒÇÒ ¼ö ÀÖ´Ù. ÇÑ ¹øÀÇ º¹±¸ ±âȸ°¡ ÀÖÁö¸¸ COMMIT±îÁö ÇØ ¹ö¸®¸é »ç¶óÁ® ¹ö¸° ·¹Äڵ带 ´Ù½Ã º¹¿øÇÒ ¹æ¹ýÀº ¾ø´Ù. SQL Server³ª MariaDB´Â ±× Á¶Â÷µµ ¾ø¾î DELETE Áï½Ã »èÁ¦ÇÑ´Ù.

 

¿¬½À ¹®Á¦

5.¿µ¾÷ºÎ Á÷¿øÀ» ÀüºÎ ÇØ°í½ÃÄÑ º¸ÀÚ.

2.»èÁ¦ ¾ÈÀü ÀåÄ¡

Á¶È¸¸¸ ÇÏ´Â SELECT ¸í·ÉÀº Å×À̺íÀ» º¯°æÇÏÁö ¾Ê¾Æ ½Ç¼öÇصµ º° ¹®Á¦ µÇÁö ¾Ê´Â´Ù. Á¶°ÇÀ» ¹Ù²ã ´Ù½Ã Á¶È¸ÇÏ¸é ±×¸¸ÀÌ´Ù. INSERT ¸í·ÉÀº Å×À̺íÀ» º¯°æÇÏÁö¸¸ Ȥ½Ã¶óµµ À߸ø »ðÀÔÇßÀ¸¸é ´Ù½Ã Áö¿ì¸é µÇ´Ï ±×´ÙÁö À§ÇèÇÏÁö´Â ¾Ê´Ù.

±×·¯³ª À߸ø ³»¸° DELETE ¸í·ÉÀº Ä¡¸íÀûÀÌ´Ù. DBMS´Â ¸»À» ³Ê¹« Àß µé¾î ¸í·ÉÀ» ³»¸®´Â Áï½Ã ó¸®ÇØ ¹ö¸°´Ù. º°µµÀÇ ¹é¾÷ÀÌ ¾ø´Â ÇÑ Áö¿ö ¹ö¸° ·¹Äڵ带 º¹±¸Çϱâ´Â ¹«Ã´ ¾î·Æ´Ù. ±×·¡¼­ »èÁ¦ÇÒ ¶§´Â ¸í·ÉÀ» ³»¸®±â Àü¿¡, ¶Ç´Â COMMIT Çϱâ Àü¿¡ ½ÅÁßÈ÷ Á¡°ËÇØ ºÁ¾ß ÇÑ´Ù.

DELETE ¹®Àº ƯÁ¤ ·¹Äڵ带 »èÁ¦Çϱâ À§ÇØ À¢¸¸Çϸé WHERE Àý°ú ÇÔ²² ¾´´Ù. ±×·¯³ª ½Ç¼ö·Î WHERE ÀýÀ» »ý·«ÇØ ¹ö¸®¸é Å×À̺íÀÇ ¸ðµç ·¹Äڵ带 ³¯·Á ¹ö¸®´Â »ì¹úÇÑ »ç°í¸¦ Ä£ °ÍÀÌ´Ù. ¼ö³â°£ ¼öÁýÇÑ ¼ö½Ê¸¸ °ÇÀÇ µ¥ÀÌÅÍ°¡ Çѹ濡 ³¯¾Æ°¡ ¹ö¸± ¼öµµ ÀÖ´Ù. °ú¿¬ ±×·±Áö ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ.

 

DELETE FROM tCity;

 

º°µµÀÇ Á¶°ÇÀÌ ¾øÀ¸´Ï tCityÀÇ ¸ðµç µµ½Ã°¡ ¸ù¶¥ »ç¶óÁø´Ù. °íºÐ °íºÐ ¸»À» Àß µè´Â ÀÌÀ¯´Â ÀÌ Á¤µµ ¸í·ÉÀ̶ó¸é º°µµÀÇ ¹é¾÷ ´ëÃ¥ÀÌ Àְųª ¿ÀÅäÄ¿¹Ô ¸ðµå°¡ ¾Æ´Ñ °æ¿ì°¡ ´ëºÎºÐÀ̱⠶§¹®ÀÌ´Ù. Äõ¸®Åø¿¡ µû¶ó¼­´Â °æ°í¸¦ Ãâ·ÂÇϱ⵵ Çϴµ¥ DBeaver´Â ´ÙÀ½ °æ°í¹®À» º¸¿©ÁØ´Ù.

WHERE ÀýÀÌ ¾ø´Â DELETE ¸í·ÉÀε¥ Á¤¸»·Î ÀǵµÇÑ °ÍÀÌ ¸Â´ÂÁö, ¾Æ´Ï¸é ´Ü¼øÇÑ ½Ç¼öÀÎÁö È®ÀÎÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¸Þ½ÃÁöµµ ¾îµð±îÁö³ª °æ°íÀÏ »Ó ¿¡·¯´Â ¾Æ´Ï¾î¼­ È®ÀÎ ¹öÆ°À» ´©¸£¸é ³ÃÅ­ Áö¿ö ¹ö¸°´Ù. ÀÌ·± ¹«½Ã¹«½ÃÇÑ °æ°í¸¦ º¸¿©ÁÙ Á¤µµ·Î WHERE Àý ¾ø´Â DELETE ¸í·ÉÀº À§ÇèÇÏ´Ù.

¼³»ç WHERE ÀýÀÌ ÀÖ´õ¶óµµ Á¶°ÇÀ» À߸ø ÁöÁ¤ÇÏ¸é ¾û¶×ÇÑ ·¹Äڵ尡 »èÁ¦µÉ À§ÇèÀº ¿©ÀüÇÏ´Ù. Á¶°ÇÀÌ º¹ÀâÇϸé Áö¿ï ·¹Äڵ带 Á¦´ë·Î ¼±Á¤ÇÏ´Â °Íµµ ½±Áö ¾Ê´Ù. Àα¸ 50¸¸ ÃÊ°úÀÎ µµ½Ã¸¦ »èÁ¦ÇÑ´Ù¸é ´ÙÀ½ ÀýÂ÷´ë·Î ÀÛ¾÷ÇÑ´Ù. DELETE ¸í·ÉÀ» ³»¸®±â Àü¿¡ ¸ÕÀú SELECT·Î »èÁ¦ ´ë»ó ·¹Äڵ带 °í¸¥´Ù.

 

SELECT * FROM tCity WHERE popu > 50;

Àα¸°¡ 50¸¸ ÃÊ°úÀÎ µµ½Ã¸¸ Á¶È¸Çß´Ù. ¸¸¾à WHERE popu < 50À¸·Î ºÎµîÈ£¸¦ ¹Ý´ë·Î ½è°Å³ª WHERE popu > 5 µûÀ§·Î ¼ýÀÚ¸¦ À߸ø ½è´Ù¸é ´Ù¸¥ °á°ú°¡ ³ª¿Í ½Ç¼ö¸¦ ±Ý¹æ ´«Ä¡Ã§ ¼ö ÀÖ´Ù. È®½ÇÈ÷ »èÁ¦ÇÒ ´ë»óÀÌ ¸ÂÀ½À» È®ÀÎÇÑ ÈÄ SELECT *À» DELETE·Î ¹Ù²Ù¾î ½ÇÇàÇÏ¸é ¾ÈÀüÇÏ´Ù.

Äõ¸®Ã¢¿¡´Â ¿©·¯ °³ÀÇ ¸í·ÉÀ» ÀÔ·ÂÇØ ³õ°í ÇÑ ÁÙ¾¿ ¶Ç´Â ºí·ÏÀ» ¼±ÅÃÇÏ¿© ÀϺΠ¸í·É¸¸ ½ÇÇàÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ½Ç¼ö·Î ºí·Ï ¼±ÅÃÀ» ÇÏÁö ¾ÊÀº »óÅ·ΠÀüü ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ¶Ç ´Ù¸¥ »ç°í°¡ ¹ß»ýÇÑ´Ù. ÀÌ·± »ç°í¸¦ ¹æÁöÇÏ·Á¸é DELETE ¹®Àº ½ÇÇà ÈÄ¿¡ Áö¿ö ¹ö¸®°Å³ª ¾Æ´Ï¸é ÁÖ¼®À¸·Î °¨½Î ³õ´Â °ÍÀÌ ÁÁ´Ù.

 

/* DELETE FROM tCity WHERE popu > 50; */

 

ÁÖ¼®À¸·Î °¨½Î µÎ¸é ÀÏ°ý ½ÇÇà¿¡¼­ Á¦¿ÜµÇ¸ç ´Ù½Ã ½ÇÇàÇÒ ¶§ ÁÖ¼® ¾ÈÂʸ¸ ºí·ÏÀ¸·Î ¼±ÅÃÇÏ¸é µÇ´Ï ¾ÈÀüÇÏ´Ù. DELETE ¸í·ÉÀº ¿ö³« À§ÇèÇؼ­ ¾ß±Ù°ú ÁÖ¸» Ãâ±ÙÀÇ ÁÖ¹üÀÌ´Ù. Ç×»ó ÁÖÀÇÇØ¾ß ÇÏ¸ç °®°¡Áö ¾ÈÀü ´ëÃ¥À» °­±¸Çϴµ¥ ´ÙÀ½Àº ³»°¡ ÁÖ·Î ¾Ö¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.

 

-- DELETE

-- SELECT *

FROM tStaff WHERE grade = '°úÀå';

 

Äõ¸®Ã¢¿¡ ÀÌ·¸°Ô ½á ³õ°í WHERE ÀýÀÇ Á¶°ÇÀ» ÆíÁýÇÏ¿© »èÁ¦ÇÒ ´ë»óÀ» °í¸¥´Ù. SELECT ºÎÅÍ ¼±ÅÃÇÏ¿© ½ÇÇàÇÏ¸é ´Ü¼ø Á¶È¸¹®ÀÌ´Ù. ¸ÂÀ¸¸é DELETEºÎÅÍ ¼±ÅÃÇÏ¿© »èÁ¦ÇÑ´Ù. °¡¿îµ¥ ÁÙÀÇ -- SELECT´Â ÁÖ¼®À̾ ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù.

ºí·ÏÀ» ¿ª¹æÇâÀ¸·Î SELECT±îÁö ¼±ÅÃÇÏ¿© È®ÀÎÇÏ°í ÇÑ Ä­ À§·Î ¿Ã¸®¸é DELETE±îÁö ¼±ÅÃÇÑ´Ù. DELETEµµ ÁÖ¼®À¸·Î ¸·¾Æ µÎ¸é Àüü ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇصµ ¾ÈÀüÇÏ¸ç ºí·ÏÀ» Á¤È®È÷ ¼±ÅÃÇÒ ¶§¸¸ »èÁ¦ÇÏ¿© ´õ ¾ÈÀüÇÏ´Ù.

3.TRUNCATE

WHERE Àý ¾ø´Â DELETE ¸í·ÉÀº »ó´çÈ÷ À§ÇèÇÏÁö¸¸ Å×À̺íÀ» ºñ¿ï ¸ñÀûÀ̶ó¸é ¾µ ¼öµµ ÀÖ´Ù. ¾û¸ÁÀÌ µÈ µ¥ÀÌÅ͸¦ ¸»²ûÈ÷ Áö¿ì°í óÀ½ºÎÅÍ ´Ù½Ã ¼öÁýÇÏ´Â °æ¿ìµµ ÀÖ´Ù. DELETE FROM tCity; ¸í·ÉÀ» ³»¸®¸é Å×À̺íÀÇ ¸ðµç ·¹Äڵ带 »èÁ¦ÇÑ´Ù.

±×·¯³ª ÀÌ ¸í·ÉÀº ·¹Äڵ带 ³í¸®ÀûÀÎ ¹æ¹ýÀ¸·Î Çϳª¾¿ Áö¿ì°í ·Î±×µµ ³²±â±â ¶§¹®¿¡ ´À¸®´Ù. ¼ö¹é °³ Á¤µµ´Â Å« Â÷ÀÌ°¡ ¾øÁö¸¸ ¼ö¸¸ °³ÀÇ ·¹Äڵ带 ÀÏÀÏÀÌ Áö¿ì´Â °ÍÀº ¼­¹ö ÀÔÀå¿¡¼­µµ ¹÷Âù ÀÏÀÌ´Ù. ÀÌ·± ¸ñÀûÀ̶ó¸é DELETEº¸´Ù ´ÙÀ½ ¸í·ÉÀÌ È¿À²ÀûÀÌ´Ù.

 

TRUNCATE TABLE Å×À̺í

 

TRUNCATE TABLE tCity ¸í·ÉÀº tCity Å×À̺íÀ» ¿ÏÀüÈ÷ ºñ¿î´Ù. ¹°¸®ÀûÀÎ ±â¾ï Àå¼Ò¸¦ ±ú²ýÀÌ ºñ¿ì°í Àӽà ¿µ¿ª¿¡ ·Î±×µµ ³²±âÁö ¾Ê¾Æ ÈξÀ ºü¸£´Ù. ¼ö¹é¸¸ °³ÀÇ ·¹Äڵ嵵 ¼ø½Ä°£¿¡ Áö¿ö ¹ö¸°´Ù. ·Î±×¸¦ ³²±âÁö ¾Ê±â ¶§¹®¿¡ ROLLBACKÀ¸·Îµµ Ãë¼ÒÇÒ ¼ö ¾ø´Ù.

DELETE ¸í·ÉÀº DML¿¡ ¼ÓÇÏ´Â µ¥ÀÌÅÍ °ü¸® ¸í·ÉÀε¥ ºñÇØ TRUNCATE ¸í·ÉÀº Å×À̺íÀ» °ü¸®ÇÏ´Â DDL ¸í·ÉÀ¸·Î ¼Ò¼ÓÀÌ ´Ù¸£´Ù. TRUNCATE TABLE ¸í·ÉÀº Å×À̺í¾ÈÀÇ ·¹Äڵ常 »èÁ¦ÇÒ »Ó Å×À̺í ÀÚü´Â »èÁ¦ÇÏÁö ¾Ê´Â´Ù. Å×À̺í±îÁö ¿ÏÀüÈ÷ »èÁ¦ÇÏ´Â ¸í·ÉÀº DROP TABLEÀÌ´Ù.

ÀϹÝÀûÀÎ ¸ñÀûÀ¸·Î´Â Àß »ç¿ëÇÏÁö ¾ÊÁö¸¸ ½Ç½À °úÁ¤¿¡¼­ Å×À̺íÀ» ÀçÃʱâÈ­ÇÒ ¶§ Á¾Á¾ »ç¿ëÇÑ´Ù. ¿©±â±îÁö ½Ç½ÀÀ» ÁøÇàÇϸç tCity¿¡ »ðÀÔµµ ÇØ º¸°í Áö¿öµµ º¸¾Ò´Ù. ¾ÕÀ¸·Îµµ ¿©·¯ °¡Áö ½Ç½ÀÀ» ÁøÇàÇϸé Á¡Á¡ ¾û¸ÁÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·² ¶§ ´ÙÀ½ ¸í·ÉÀ» ³»·Á Áï½Ã ÃʱâÈ­ÇÑ´Ù.

 

TRUNCATE TABLE tCity;

INSERT INTO tCity VALUES ('¼­¿ï',605,974,'y','°æ±â');

INSERT INTO tCity VALUES ('ºÎ»ê',765,342,'y','°æ»ó');

...

 

¿ÏÀüÈ÷ ½Ï ºñ¿ì°í ´Ù½Ã »ðÀÔÇÏ¿© ¾ÖÃÊÀÇ »óÅ·Πº¹¿øÇÑ´Ù. Å×À̺íÀ» DROPÇÑ °ÍÀº ¾Æ´Ï¾î¼­ CREATE TABLEÀº ½ÇÇàÇÒ ÇÊ¿ä ¾øÀÌ INSERT INTO·Î µ¥ÀÌÅ͸¸ ä¿ö ³ÖÀ¸¸é µÈ´Ù. tStaff Å×ÀÌºíµµ ¸¶Âù°¡Áö ¹æ¹ýÀ¸·Î ¿ø»ó º¹¿øÇÑ´Ù. ÀÌÈÄÀÇ ½Ç½ÀÀº ºÎ´ã ¾øÀÌ ÁøÇàÇ쵂 Àû´çÇÑ ¶§¿¡ »ùÇà Å×À̺íÀ» ¾Ë¾Æ¼­ º¹¿øÇÏÀÚ.