| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 5. µ¥ÀÌÅÍ Á¤ÀÇ | Fast Forward | Next |
Å×À̺íÀÇ ÀÛ¼º ÈÄ¿¡ ½Ç¼ö¸¦ ¾Ë¾ÆÂ÷¸®°Å³ª ¾îÇø®ÄÉÀ̼ÇÀÇ ¿äûÀÌ º¯°æµÆÀ» °æ¿ì, Å×À̺íÀ» ÀÏ´Ü »èÁ¦ÇÏ°í ´Ù½Ã ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ ÀÔ·Â ³¡³ °æ¿ì, ȤÀº ±× Å×À̺íÀÌ ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®(¿¹¸¦ µé¸é ¿ÜºÎ Ű Á¦ÇÑ)¿¡ ÀÇÇØ ÂüÁ¶µÇ°í ÀÖ´Â °æ¿ì, À̰ÍÀº ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Õ´Ï´Ù. ±× ¶§¹®¿¡, PostgreSQL¿¡¼´Â ±âÁ¸ Å×ÀÌºí¿¡ º¯°æÀ» ´õÇϱâ À§ÇÑ ÀÏ·ÃÀÇ Ä¿¸Çµå°¡ Á¦°øµË´Ï´Ù. Å×ÀÌºí ³» Æ÷ÇÔµÈ µ¥ÀÌÅ͸¦ º¯°æÇÑ´Ù´Â °³³äÀÌ ¾Æ´Ñ °ÍÀ» ÁÖÀÇÇϽʽÿä. ¿©±â¿¡¼´Â Å×À̺íÀÇ Á¤Àdzª ±¸Á¶¸¦ º¯°æÇÏ´Â °Í¿¡ ÃÊÁ¡À» ¸ÂÃä´Ï´Ù.
´ÙÀ½ ÀÏÀÌ »ý±é´Ï´Ù.
¿ÀÇ Ãß°¡
¿ÀÇ »èÁ¦
Á¦ÇÑÀÇ Ãß°¡
Á¦ÇÑÀÇ »èÁ¦
µðÆúÆ® °ªÀÇ º¯°æ
¿ µ¥ÀÌÅÍÇüÀÇ º¯°æ
¿ ¸íÀÇ º¯°æ
Å×ÀÌºí ¸íÀÇ º¯°æ
ÀÌ·¯ÇÑ Á¶ÀÛÀº ALTER TABLE Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿© ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÂüÁ¶ ÆäÀÌÁö´Â º» Àý¿¡ ÁÖ¾îÁø ¼¼ºÎ»çÇ×À» Æ÷ÇÔÇÕ´Ï´Ù.
¿À» Ãß°¡ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù.
ALTER TABLE products ADD COLUMN description text;
»õ·Î¿î ¿¿¡´Â µðÆúÆ® °ªÀÌ ÃʱⰪÀ¸·Î µé¾î¿É´Ï´Ù(DEFAULT±¸¹®¸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì´Â NULL°ªÀÌ µé¾î¿É´Ï´Ù).
´ÙÀ½ÀÇ ±¸¹®À» »ç¿ëÇϸé, ¿ÀÇ Á¦Çѵµ µ¿½Ã¿¡ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
½ÇÁ¦·Î´Â CREATE TABLE³»ÀÇ ¿À» ±â¼úÇÒ ¶§ »ç¿ëµÇ´Â ¸ðµç ¿É¼ÇÀÌ, ¿©±â¼ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸ µðÆúÆ® °ªÀº ÁÖ¾îÁø Á¦ÇÑÀ» ¸¸Á·ÇÏ´Â °ÍÀÌ ¾Æ´Ï¸é ¾È µÇ´Â °ÍÀ» ÁÖÀÇÇϽʽÿä. ¸¸Á·ÇÏÁö ¾Ê´Â °æ¿ì´Â ADD°¡ ½ÇÆÐÇÕ´Ï´Ù. ÇÑÆí, ½Å±ÔÀÇ ¿¿¡ ¿Ã¹Ù¸£°Ô °ªÀ» ä¿î ´ÙÀ½¿¡ Á¦ÇÑÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù(¾Æ·¡ ÂüÁ¶).
Tip: µðÆúÆ®¸¦ °¡Áö´Â ¿À» Ãß°¡Çϱâ À§Çؼ´Â (»õ·Î¿î ¿ °ªÀ» ÀúÀåÇϱâ À§Çؼ) Å×À̺íÀÇ °¢ ÇàÀ» ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÕ´Ï´Ù. ±×·¯³ª µðÆúÆ®°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ» ¶§, PostgreSQL´Â ¹°¸®ÀûÀÎ ¾÷µ¥ÀÌÆ®¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, ´ëºÎºÐÀÌ µðÆúÆ®°¡ ¾Æ´Ñ °ªÀ» °¡Áö´Â ¿À» Å×ÀÌºí¿¡ ÀúÀåÇÒ »ý°¢À̸é, µðÆúÆ®¸¦ ÁöÁ¤ÇÏÁö ¾Ê°í ¿À» Ãß°¡Çϰí, UPDATE¸¦ »ç¿ëÇØ ¿Ã¹Ù¸¥ °ªÀ» »ðÀÔÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. ±× ÈÄ¿¡, ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÏ°í ½ÍÀº µðÆúÆ® °ªÀ» ºÎ¿©ÇØ Áֽʽÿä.
¿À» »èÁ¦ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù.
ALTER TABLE products DROP COLUMN description;
¿³»¿¡ ÀÖ´Â ¾î¶² µ¥ÀÌÅÍµç »ç¶óÁý´Ï´Ù. ¶Ç ¿À» Æ÷ÇÔÇÑ Å×À̺íÀÇ Á¦Çѵµ »èÁ¦µË´Ï´Ù. ±×·¯³ª ¸¸¾à ¿ÀÌ ´Ù¸¥ Å×À̺íÀÇ ¿ÜºÎ Ű Á¦ÇÑÀ¸·Î¼ ÂüÁ¶µÇ°í ÀÖ´Â °æ¿ì, PostgreSQL´Â ¾Ï¹¬ÀûÀ¸·Î Á¦ÇÑÀ» ÇØÁ¦ÇÏÁö ¾Ê½À´Ï´Ù. CASCADE¸¦ Ãß°¡ÇÏ´Â °ÍÀ¸·Î½á ¿¿¡ ÀÇÁ¸ÇÏ´Â ¸ðµç °ÍÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ALTER TABLE products DROP COLUMN description CASCADE;
ÀÌ ¹èÈÄ¿¡ ÀÖ´Â ÀϹÝÀûÀÎ ¸ÅÄ¿´ÏÁò¿¡ °üÇÑ ¼³¸í¿¡ ´ëÇØ¼´Â Section 5.11À» ÂüÁ¶ÇØ Áֽʽÿä.
Á¦ÇÑÀ» Ãß°¡ÇÏ·Á¸é , Å×À̺í Á¦ÇÑÀÇ ±¸¹®ÀÌ »ç¿ëµË´Ï´Ù.
ALTER TABLE products ADD CHECK (name <> ''); ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;
Å×À̺í Á¦ÇÑÀ¸·Î¼ ±â¼úÇÒ ¼ö ¾ø´Â not-nullÀ» Ãß°¡ÇÏ·Á¸é , ´ÙÀ½ÀÇ ±¸¹®À» »ç¿ëÇÕ´Ï´Ù.
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
Á¦ÇÑÀº Áï½Ã °Ë»çµÇ±â ¶§¹®¿¡, Á¦ÇÑÀ» Ãß°¡Çϱâ Àü¿¡ Å×ÀÌºí µ¥ÀÌÅͰ¡ Á¦ÇÑÀ» ¸¸Á·½ÃÄѾ߸¸ ÇÕ´Ï´Ù.
Á¦ÇÑÀ» »èÁ¦ÇÏ·Á¸é , Á¦ÇѸíÀ» ¾Ë Çʿ䰡 ÀÖ½À´Ï´Ù. ½º½º·Î À̸§À» Áö¾úÀ» °æ¿ì´Â °£´ÜÇÕ´Ï´Ù. ±×·¯³ª ±×·¸Áö ¾ÊÀº °æ¿ì´Â, ½Ã½ºÅÛÀÌ »ý¼ºµÈ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ±×°ÍÀ» ã¾Æ¾ß ÇÕ´Ï´Ù. °Å±â¿¡´Â psqlÀÇ\d tablename Ä¿¸Çµå¸¦ »ç¿ëÇÏ¸é Æí¸®ÇÕ´Ï´Ù. ´Ù¸¥ ÀÎÅÍÆäÀ̽ºµµ Å×À̺íÀÇ ¼¼ºÎ»çÇ×À» Á¶»çÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ»Áö ¸ð¸¨´Ï´Ù. Ä¿¸Çµå´Â ÀÌÇÏ¿Í °°½À´Ï´Ù.
ALTER TABLE products DROP CONSTRAINT some_name;
(ÀÚµ¿ »ý¼ºµÇ¾ú´Ù$2¶ó°í ÇÏ´Â Á¦ÇѸíÀ» Ãë±ÞÇÏ´Â °æ¿ì´Â À¯È¿ÇÑ ½Äº°ÀÚ°¡ µÇµµ·Ï ÀÌÁß ÀοëºÎÈ£·Î µÑ·¯ ½Ò Çʿ䰡 ÀÖ´Â °ÍÀ» ÀØÁö ¸»¾Æ Áֽʽÿä. )
¿ÀÇ »èÁ¦¿¡ °üÇØ¼, ¹«¾ùÀΰ¡ ÀÇÁ¸Çϰí ÀÖ´Â Á¦ÇÑÀ» »èÁ¦ÇÏ´Â °æ¿ì¿¡´Â CASCADE¸¦ ºÙÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ÂüÁ¶µÇ°í ÀÖ´Â ¿¿¡ À¯ÀÏÇÑ Å° ¶Ç´Â ÁÖ Å° Á¦ÇÑ¿¡ ÀÇÁ¸ÇÏ´Â ¿ÜºÎ Ű Á¦ÇÑÀ» »èÁ¦ÇÏ´Â °æ¿ìÀÔ´Ï´Ù.
ÀÌ´Â not-null ÀÌ¿ÜÀÇ ¸ðµç Á¦ÇÑÇü¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. not-null Á¦ÇÑÀ» »èÁ¦ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
(not-null Á¦ÇÑ¿¡´Â À̸§ÀÌ ¾ø´Â °ÍÀ» ±â¾ïÇØ Áֽʽÿä. )
¿¿¡ »õ·Î¿î µðÆúÆ®¸¦ ¼³Á¤ÇÏ·Á¸é , ÀÌÇÏ¿Í °°Àº Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù.
ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;
À̰ÍÀº Å×ÀÌºí ³»ÀÇ ±âÁ¸ Çà¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê´Â °ÍÀ» ÁÖÀÇÇϽʽÿä. À̰ÍÀº ÇâÈÄ INSERTÄ¿¸Çµå¸¦ À§ÇØ ´Ü¼øÈ÷ µðÆúÆ®¸¦ ¹Ù²Ü »ÓÀÔ´Ï´Ù.
µðÆúÆ® °ªÀ» »èÁ¦ÇÏ·Á¸é, ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
ÀÌ´Â µðÆúÆ®¸¦ NULL·Î ¼³Á¤ÇÏ´Â °Í°ú °°½À´Ï´Ù. ±× ¶§¹®¿¡, Á¤ÀǵÇÁö ¾ÊÀº µðÆúÆ® °ªÀ» »èÁ¦Çصµ ¿¡·¯°¡ µÇÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇϸé NULL °ªÀÌ ¾Ï¹¬ÀûÀ¸·Î µðÆúÆ®°¡ µÇ°í Àֱ⠶§¹®ÀÔ´Ï´Ù.
¿À» ´Ù¸¥ µ¥ÀÌÅÍÇüÀ¸·Î º¯È¯ÇÏ·Á¸é ÀÌÇÏ¿Í °°Àº Ä¿¸Çµå¸¦ »ç¿ëÇØ Áֽʽÿä.
ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
ÀÌ´Â ±× ¿ÀÇ ±âÁ¸ Ç׸ñÀÌ »õ·Î¿î ÇüÅ¿¡ ¾Ï¹¬Àû ij½ºÆ®¿¡ ÀÇÇØ º¯È¯ÇÒ ¼ö ÀÖ´Â °æ¿ì¿¡¸¸ ¼º°øÇÕ´Ï´Ù. º¸´Ù º¹ÀâÇÑ º¯È¯ÀÌ ÇÊ¿äÇÑ °æ¿ì, ³°Àº °ªÀ¸·ÎºÎÅÍ »õ·Î¿î °ªÀ» ¾î¶»°Ô °è»êÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÏ´Â USING±¸¹®¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
PostgreSQL´Â (¸¸¾à ÀÖÀ¸¸é) ¿ÀÇ µðÆúÆ® °ªÀ» »õ·Î¿î ÇüÅ¿¡, µ¿½Ã¿¡, ±× ¿¿¡ °ü·ÃÇÏ´Â ¸ðµç Á¦Çѵµ »õ·Î¿î ÇüÅ·Πº¯È¯ÇÏ·Á°í ÇÕ´Ï´Ù. ±×·¯³ª ÀÌ·¯ÇÑ º¯È¯Àº ½ÇÆÐÇÒÁöµµ ¸ð¸£°í, ¿¹»óÀ» ³ÑÀº °á°ú°¡ µÇ¾î ¹ö¸±Áöµµ ¸ð¸¨´Ï´Ù. ÇüŸ¦ º¯°æÇϱâ Àü¿¡ ±× ¿¿¡ °üÇÑ Á¦ÇÑÀ» ¸ðµÎ »èÁ¦Çϰí, ´ÙÀ½¿¡ ÀûÀýÈ÷ º¯°æÇÑ Á¦ÇÑÀ» ´Ù½Ã ºÙÀÌ´Â °ÍÀÌ ÃÖ¼±ÀÎ °æ¿ì°¡ ÀÚÁÖ ÀÖ½À´Ï´Ù.
¿¸íÀ» º¯°æÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
ALTER TABLE products RENAME COLUMN product_no TO product_number;
Å×À̺í¸íÀ» º¯°æÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
ALTER TABLE products RENAME TO items;