| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
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±ÇÇÑÀ» °¡Áö°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
±âÁ¸ÀÇ Å×À̺íÀÇ À̸§ÀÔ´Ï´Ù(schema ¼ö½Ä¸íµµ °¡´É).
table ÀÇ Ä÷³ÀÇ À̸§ÀÔ´Ï´Ù. ±× Ä÷³ÀÇ À̸§Àº ¼ºêÇʵåÀÇ À̸§À̳ª ¼ºê½ºÅ©¸³Æ®ÀÇ Á¤·Ä°ú ÇÔ²² ÀÚ°ÝÀÌ ÁÖ¾îÁý´Ï´Ù. (È¥ÇÕµÈ Ä÷³ÀÇ ¸î¸î Çʵå·ÎÀÇ »ðÀÔÀº ´Ù¸¥ ÇʵåÀÇ null °ªÀ» ³²±ä´Ù)
¸ðµç ¿¿¡ °¢°¢ÀÇ ±âº»°ªÀÌ ¼³Á¤µË´Ï´Ù.
column ¿¡ ´ëÀÀÇÏ´Â À¯È¿ÇÑ ½Ä ¶Ç´Â °ªÀ» ´ëÀÔÇÕ´Ï´Ù.
´ëÀÀÇÏ´Â column ¿¡´Â ±âº»°ªÀÌ ¼³Á¤ µÉ °ÍÀÔ´Ï´Ù.
»ðÀÔÇÏ´Â ÇàÀ» Á¦°øÇÏ´Â Äõ¸®¹®(SELECT)¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±¸¹®ÀÇ ¼³¸í¿¡ ´ëÇØ¼´Â SELECT ¹®ÀåÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
°¢ ÇàÀÌ »ðÀÔµÈ ÈÄ, ½ÄÀÌ INSERT¿¡ ÀÇÇØ °è»êµÇ°í °ªÀÌ ¹ÝȯµË´Ï´Ù. ÀÌ ½Ä¿¡´Â table ÀÇ ÀÓÀÇÀÇ ¿ À̸§À» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. »ðÀÔµÈ ÇàÀÇ ¸ðµç ¿À» µ¹·ÁÁÖ´Â °æ¿ì´Â*À̶ó°í ±âÀçÇØ ÁÖ¼¼¿ä.
¹ÝȯµÇ´Â ¿·Î »ç¿ëµÇ´Â À̸§ÀÔ´Ï´Ù.
Á¤»óÀûÀ¸·Î Á¾·áÇϸé,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 ¿¡¼ ±â¼úµÇ¾î ÀÖ½À´Ï´Ù.