INSERT

Name

INSERT -- Å×ÀÌºí¿¡ »õ·Î¿î ÇàÀ» ÀÛ¼ºÇÑ´Ù

Synopsis

INSERT INTO 
table
 [ ( 
column
 [, ...] ) ]
    { DEFAULT VALUES | VALUES ( { 
expression
 | DEFAULT } [, ...] ) [, ...] | 
query
 }
    [ RETURNING * | 
output_expression
 [ AS 
output_name
 ] [, ...] ]

¼³¸í

INSERT´Â Å×ÀÌºí¿¡ »õ·Î¿î ÇàÀ» »ðÀÔÇÕ´Ï´Ù. °ª½ÄÀ» »ç¿ëÇØ ÇÑ Çà À̳ª ±× ÀÌ»óÀÇ ÇàÀ» »ðÀÔÇÒ ¼ö ÀÖ°í, Äõ¸®¹®ÀÇ °á°ú¸¦ »ç¿ëÇØ 0Çà À̳ª ±× ÀÌ»óÀÇ ÇàÀ» »ðÀÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

´ë»óÀÇ Ä÷³ À̸§Àº ¾î¶°ÇÑ Â÷·Ê¿¡¼­µµ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ä÷³ À̸§ÀÇ ¸®½ºÆ®°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò´ø °æ¿ì´Â, ¼±¾ð½ÃÀÇ Â÷·Ê·Î ´Ã¾î³õÀº Å×ÀÌºí³»ÀÇ ¸ðµç ¿­ÀÌ ±âº»°ªÀÌ µË´Ï´Ù. ¶Ç´Â VALUES ±¸³ª query ¿¡ ÀÇÇØ N ¿­¸¸ÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ì´Â, ¼±µÎÀÇ N ¿­ÀÇ À̸§ÀÌ ±âº»°ªÀÌ µË´Ï´Ù. VALUES±¸³ª query ·Î Á¦°øµÇ´Â °ªÀº, ¸í½ÃÀû ¶Ç´Â ¾Ï¹¬ÀûÀÎ ¿­ ¸®½ºÆ®¸¦ ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊ¿¡ÀÇ ¼ø¼­·Î °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù.

¸í½ÃÀû ¶Ç´Â ¾Ï¹¬ÀûÀÎ ¿­¸®½ºÆ®¿¡ ¾ø´Â °¢ ¿­¿¡´Â ±âº»°ªÀÌ »ðÀԵ˴ϴÙ. ¸¸¾à ¿­¿¡ ¾Æ¹« °ªÀÌ ¾øÀ¸¸é ±âº»°ªÀ̳ª NULL °ªÀÌ »ðÀԵ˴ϴÙ.

°¢ ¿­ÀÇ ½ÄÀÌ ¿Ã¹Ù¸¥ µ¥ÀÌÅÍÇüÀÌ ¾Æ´Ñ °æ¿ì´Â, ÀÚµ¿ÀûÀ¸·Î ÇüÅÂÀÇ º¯È¯À» ÇÒ °ÍÀÔ´Ï´Ù.

»ý·« °¡´ÉÇÑRETURNING ±¸¿¡ ÀÇÇØ,INSERT´Â ½ÇÁ¦·Î »ðÀÔµÈ °¢ Çà¿¡ ±Ù°ÅÇØ °è»êµÈ °ªÀ» µ¹·ÁÁÖ°Ô µË´Ï´Ù. À̰ÍÀº ½Ã¸®¾ó ½ÃÄö½º ³Ñ¹ö¿Í °°ÀÌ ±âº»°ª¿¡ ÀÇÇØ Áö¿øµÇ¾î ¾ò¾îÁö´Â °ªÀº À¯¿ëÇÕ´Ï´Ù. ±×·¯³ª, ±× Å×À̺íÀÇ ¿­À» »ç¿ëÇÑ ½ÄÀ» ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. RETURNING¸®½ºÆ®ÀÇ ±¸¹®ÀºSELECTÀÇ Ãâ·Â ¸®½ºÆ®¿Í µ¿ÀÏÇÕ´Ï´Ù.

Å×ÀÌºí¿¡ ÇàÀ» Ãß°¡ÇÏ·Á¸é ±× Å×ÀÌºí¿¡ ´ëÇØ¼­INSERT±ÇÇÑÀ» °¡Áö°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ¶Ç RETURNING¸¦ »ç¿ëÇÏ·Á¸é, SELECT±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸¸¾à Äõ¸®¹®À¸·Î ÇàÀ» »ðÀÔÇÏ·Á°í query ¸¦ »ç¿ëÇÑ´Ù¸é, ±× Äõ¸®¹® ³»¿¡¼­ »ç¿ëµÇ´Â ¸ðµç Å×ÀÌºí¿¡ ´ëÇØ¼­SELECT±ÇÇÑÀ» °¡Áö°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

¸Å°³º¯¼ö

table

±âÁ¸ÀÇ Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù(schema ¼ö½Ä¸íµµ °¡´É).

column

table ÀÇ Ä÷³ÀÇ À̸§ÀÔ´Ï´Ù. ±× Ä÷³ÀÇ À̸§Àº ¼­ºêÇʵåÀÇ À̸§À̳ª ¼­ºê½ºÅ©¸³Æ®ÀÇ Á¤·Ä°ú ÇÔ²² ÀÚ°ÝÀÌ ÁÖ¾îÁý´Ï´Ù. (È¥ÇÕµÈ Ä÷³ÀÇ ¸î¸î Çʵå·ÎÀÇ »ðÀÔÀº ´Ù¸¥ ÇʵåÀÇ null °ªÀ» ³²±ä´Ù)

DEFAULT VALUES

¸ðµç ¿­¿¡ °¢°¢ÀÇ ±âº»°ªÀÌ ¼³Á¤µË´Ï´Ù.

expression

column ¿¡ ´ëÀÀÇÏ´Â À¯È¿ÇÑ ½Ä ¶Ç´Â °ªÀ» ´ëÀÔÇÕ´Ï´Ù.

DEFAULT

´ëÀÀÇÏ´Â column ¿¡´Â ±âº»°ªÀÌ ¼³Á¤ µÉ °ÍÀÔ´Ï´Ù.

query

»ðÀÔÇÏ´Â ÇàÀ» Á¦°øÇÏ´Â Äõ¸®¹®(SELECT)¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±¸¹®ÀÇ ¼³¸í¿¡ ´ëÇØ¼­´Â SELECT ¹®ÀåÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

output_expression

°¢ ÇàÀÌ »ðÀÔµÈ ÈÄ, ½ÄÀÌ INSERT¿¡ ÀÇÇØ °è»êµÇ°í °ªÀÌ ¹ÝȯµË´Ï´Ù. ÀÌ ½Ä¿¡´Â table ÀÇ ÀÓÀÇÀÇ ¿­ À̸§À» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. »ðÀÔµÈ ÇàÀÇ ¸ðµç ¿­À» µ¹·ÁÁÖ´Â °æ¿ì´Â*À̶ó°í ±âÀçÇØ ÁÖ¼¼¿ä.

output_name

¹ÝȯµÇ´Â ¿­·Î »ç¿ëµÇ´Â À̸§ÀÔ´Ï´Ù.

Ãâ·Â

Á¤»óÀûÀ¸·Î Á¾·áÇϸé,INSERT´Â ÀÌÇÏ¿Í °°Àº ¸í·É ű׸¦ µ¹·ÁÁÝ´Ï´Ù.

INSERT 
oid
 
count

count ´Â »ðÀÔµÈ Çà¼öÀÔ´Ï´Ù. count °¡ Á¤È®ÇÏ°Ô 1ÀÌ°í ´ë»óÀÇ Å×À̺íÀÌ OID¸¦ °¡Áö´Â °æ¿ì, oid ´Â »ðÀÔµÈ Çà¿¡ ÇÒ´çÇÒ ¼ö ÀÖ¾ú´øOIDÀÔ´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì, oid ´Â 0ÀÌ µË´Ï´Ù.

INSERT¸í·É¾î°¡ RETURNING±¸¸¦ Æ÷ÇÔÇÑ´Ù¸é, ±× °á°ú ¸í·É¾î·Î »ðÀÔµÈ Çà Àüü¿¡ ´ëÇØ¼­ °è»êÀ» ½Ç½ÃÇÏ´ÂRETURNING¸®½ºÆ®·Î Á¤ÀÇÇÑ ¿­°ú °ªÀ» °®°í ÀÖ´Â SELECT ¸í·É¹®ÀÇ °á°ú¿Í ´à°Ô µÉ°ÍÀÔ´Ï´Ù.

¿¹Á¦

filmsÅ×ÀÌºí¿¡ 1ÇàÀ» »ðÀÔÇÕ´Ï´Ù.

INSERT INTO films VALUES
    ('UA502', 'Bananas', 105, '1971-07-13', 'Comedy', '82 minutes');

ÀÌ ¿¹Á¦¿¡¼­´Â,len¿­À» »ý·« Çϰí ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ¿©±â¿¡´Â ±âº»°ªÀÌ µé¾î°©´Ï´Ù.

INSERT INTO films (code, title, did, date_prod, kind)
    VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');

ÀÌ ¿¹Á¦¿¡¼­´Â, Ưº°ÇÑ °ªÀÌ ¾Æ´Ñ ±× µ¥ÀÌÅÍ ¿­ÀÇ DEFAULT¸¦ »ç¿ëÇÕ´Ï´Ù.

INSERT INTO films VALUES
    ('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes');
INSERT INTO films (code, title, did, date_prod, kind)
    VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama');

±âº»°ªÀ¸·Î·Î ¿ÏÀüÈ÷ ±¸¼ºµÇ´Â ÇàÀ» »ðÀÔÇÕ´Ï´Ù.

INSERT INTO films DEFAULT VALUES;

º¹¼öÇàÀÇVALUES±¸¹®À» »ç¿ëÇØ º¹¼öÇàÀ» »ðÀÔÇÕ´Ï´Ù.

INSERT INTO films (code, title, did, date_prod, kind) VALUES
    ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
    ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');

ÀÌ ¿¹Á¦¿¡¼­´Â filmsÅ×À̺í°ú °°Àº ¿­ ·¹À̾ƿôÀ» °¡Áö´Âtmp_filmsÅ×ÀÌºí¿¡¼­filmsÅ×ÀÌºí¿¡ ¸î¸î ÇàÀ» »ðÀÔÇÕ´Ï´Ù.

INSERT INTO films SELECT * FROM tmp_films WHERE date_prod < '2004-05-07';

ÀÌ ¿¹Á¦¿¡¼­´Â, ¹è¿­ÇüÀÇ ¿­¿¡ »ðÀÔÇÕ´Ï´Ù.

-- 3° ´Ã¾î³õ°í ¿ë¹«ÀÇ 3¡¿3 ¸Å½ºÀÇ °ÔÀÓ¹ÝÀ» ÀÛ¼ºÇÕ´Ï´Ù.
INSERT INTO tictactoe (game, board[1:3][1:3])
    VALUES (1, '{{" "," "," "},{" "," "," "},{" "," "," "}}');
--À§ÀÇ ¿¹ÀÇ Ã·ÀÚ´Â »ç½ÇÀº ÇÊ¿ä ¾ø½À´Ï´Ù.
INSERT INTO tictactoe (game, board)
    VALUES (2, '{{X," "," "},{" ",O," "},{" ",X," "}}');

distributorsÅ×ÀÌºí¿¡ ´ÜÀÏÇàÀ» »ðÀÔÇØ, ±×DEFAULT±¸¿¡ ÀÇÇØ »ý¼ºµÈ ¼ø¼­ ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù.

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')
   RETURNING did;

ȣȯ¼º

RETURNING±¸´ÂPostgreSQLÀÇ È®ÀåÀÎ °ÍÀ» Á¦¿ÜÇϰí, INSERT´Â Ç¥ÁØ SQL¿¡ ÁذÅÇÕ´Ï´Ù. ¶Ç, Ç¥ÁØ SQL¿¡¼­´Â ¿­À̸§ ¸®½ºÆ®°¡ »ý·« µÇ¾úÀ» ¶§¿¡ Ç¥ÁØ¿¡ ÀÇÇØ Çã°¡µÇÁö ¾ÊÀº VALUES±¸ ¶Ç´Â query ·Î ÀϺÎÀÇ ¿­ÀÌ Ã¤¿öÁý´Ï´Ù.

query ÀÇ °¡´ÉÇÑ Á¦ÇÑÀÌ SELECT ¿¡¼­ ±â¼úµÇ¾î ÀÖ½À´Ï´Ù.