6.2. µ¥ÀÌÅÍÀÇ °»½Å

ÀÌ¹Ì µ¥ÀÌÅͺ£À̽º¿¡ µé¾î°¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ´Â °ÍÀº ¡¸°»½ÅÇÑ´Ù¡¹¶ó°í ¸»ÇÕ´Ï´Ù. °³º°ÀûÀÎ Çà, Å×ÀÌºí³»ÀÇ ¸ðµç Çà, ¶Ç´Â ¸ðµç ÇàÀ» ºÎºÐÀûÀ¸·Î °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ ¿­Àº ´Ù¸¥ ¿­¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê°í °³º°ÀûÀ¸·Î °»½ÅµË´Ï´Ù.

°»½ÅÀ» ½ÇÇàÇϱâ À§Çؼ­´Â ¼¼ °³ÀÇ Á¤º¸°¡ ¿ä±¸µË´Ï´Ù.

  1. °»½ÅÇϰíÀÚ ÇÏ´Â Å×À̺í°ú ¿­ÀÇ À̸§,

  2. °»½Å ÈÄÀÇ ¿­ÀÇ °ª,

  3. °»½ÅÇÏ´Â Çà(º¹¼öµµ °¡´É).

Chapter 5À¸·ÎºÎÅÍ ÀϹÝÀûÀ¸·Î SQL¿¡¼­ Çà¿¡ ´ëÇØ À¯ÀÏÇÑ ½Äº°ÀÚ¸¦ Á¦°øÇÏÁö ¾Ê´Â °æ¿ì¸¦ »ý°¢Çغ¾½Ã´Ù. ÀÌ´Â Á÷Á¢ÀûÀ¸·Î °»½ÅÇÒ ÇàÀ» ÀÏÀÏÀÌ ¿­°ÅÇÏÁö ¾Ê¾Æµµ µÈ´Ù´Â °ÍÀ» ¾Ë·ÁÁÝ´Ï´Ù. ±×¿Í °°Àº °æ¿ì, °»½ÅµÇ±â À§Çؼ­ ÇàÀº ÀÏÁ¤ÇÑ Á¶°ÇÀ» ¸¸Á·ÇØ¾ß ÇÕ´Ï´Ù. Å×À̺íÀÌ primary key¸¦ °¡Áö°í ÀÖ´Â °æ¿ì(»ç¿ëÀÚÀÇ ¼±¾ð ¿©ºÎ¿Í °ü°è¾øÀÌ), primary key¿Í ÀÏÄ¡ÇÏ´Â Á¶°ÇÀ» ¼±ÅÃÇÏ´Â °ÍÀ¸·Î È®½ÇÇÏ°Ô °³º°ÀÇ ÇàÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡ÇÈ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ÅøÀº ÀÌ »ç½Ç¿¡ µû¶ó °³º°ÀûÀ¸·Î ÇàÀ» °»½ÅÇϰí ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î, 5ÀÇ °¡°ÝÀ» °¡Áø ¸ðµç »óǰÀ» 10À¸·Î º¯°æÇϰíÀÚ ÇÑ´Ù¸é ´ÙÀ½°ú °°Àº ¸í·É¹®À» »ç¿ëÇÕ´Ï´Ù.

UPDATE products SET price = 10 WHERE price = 5;

ÀÌ·Î ÀÎÇØ °»½ÅµÇ´Â ÇàÀº 0°³, 1°³ ȤÀº ¿©·¯°³ÀÏÁö ¸ð¸¨´Ï´Ù. ÀÏÄ¡ÇÏÁö ¾Ê´Â ÇàÀ» °»½ÅÇÏ·Á°í ÇØµµ ¿¡·¯ ó¸® µÇÁö ¾Ê½À´Ï´Ù.

À§ÀÇ ¸í·É¹®À» ÀÚ¼¼È÷ »ìÆìº¾½Ã´Ù. óÀ½Àº UPDATEŰ¿öµå·Î Å×À̺í¸í¿¡ ÀÇÇØ °è¼ÓµË´Ï´Ù. ¾ðÁ¦³ªÃ³·³, Å×À̺í¸íÀº schema·Î ¼ö½ÄÇÒ ¼öµµ ÀÖÀ¸¸ç, ÀÌ¿Í ´Ù¸¥ °æ¿ì´Â °æ·Î ³»¿¡ °Ë»öµË´Ï´Ù. ´ÙÀ½À¸·Î SETŰ¿öµå°¡ ÀÖ¾î, ¿­ À̸§°ú µîÈ£ ±×¸®°í °»½Å ÈÄÀÇ ¿­ °ªÀÌ °è¼ÓµË´Ï´Ù. °»½Å ÈÄÀÇ ¿­ °ªÀº Á¤¼ö »Ó ¾Æ´Ï¶ó ÀÓÀÇÀÇ ½ºÄ®¶ó½Ä¿¡¼­µµ ³ªÅ¸³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ¸ðµç »óǰÀÇ °¡°ÝÀ» 10% ¿Ã¸®·Á¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

UPDATE products SET price = price * 1.10;

ÀÌ¿Í °°ÀÌ, »õ·Î¿î °ªÀ» À§ÇÑ ½ÄÀº Çà ³»¿¡ Á¸ÀçÇÏ´Â °ª(º¹¼ö °¡´É)À» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¿¡¼­´Â ¶ÇÇÑ WHERE ±¸¸¦ »ý·«Çß½À´Ï´Ù. WHERE±¸°¡ »ý·«µÇ¸é, À̰ÍÀº Å×ÀÌºí ³»ÀÇ ¸ðµç ÇàÀÌ °»½ÅµÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ±× ¹Ý´ë·Î »ý·«ÇÏÁö ¾Ê¾ÒÀ» °æ¿ì¿¡´Â, WHEREÁ¶°Ç¿¡ ÀÏÄ¡ÇÏ´Â ÇุÀÌ °»½ÅµË´Ï´Ù. SET±¸ ³»ÀÇ µîÈ£°¡ ´ëÀÔÀ» ³ªÅ¸³»´Âµ¥ ¹ÝÇØ, WHERE±¸ ³»ÀÇ µîÈ£´Â ºñ±³¸¦ ³ªÅ¸³»´Â °Í¿¡ ÁÖÀÇÇØÇϽʽÿä. ÀÌ·Î ÀÎÇÑ ¾Ö¸ÅÇÔÀº »ý±âÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¹°·Ð WHERE Á¶°ÇÀÌ µî½ÄÀ» °¡Á®¾ß¸¸ ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ±× ¿Ü¿¡µµ ¿©·¯°¡Áö ¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(Chapter 9¸¦ ÂüÁ¶). ±×·¯³ª ½ÄÀÇ °ªÀº Boolean °ªÀ» °¡Á®¾ß ÇÕ´Ï´Ù.

UPDATE ¸í·É¹®ÀÇ SET ±¸¿¡ ¿©·¯ °ªÀ» ´ëÀÔÇØ ´Ù¼öÀÇ ¿­À» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é,

UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;