๐Ÿ˜—
SQL Guide
  • ๐Ÿ˜€SQL ์ „๋ฌธ๊ฐ€ ๊ฐ€์ด๋“œ์˜ ๊ฐ€์ด๋“œ
  • ๐Ÿ˜ฆ๊ณผ๋ชฉ1 ๋ฐ์ดํ„ฐ๋ชจ๋ธ์˜ ์ดํ•ด
    • โญ์ œ1์žฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด
      • ๐ŸŒ 1-1-1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด
      • ๐ŸŒ 1-1-2. ์—”ํ„ฐํ‹ฐ(Entity)
      • ๐ŸŒ 1-1-3. ์†์„ฑ(Attribute)
      • ๐ŸŒ 1-1-4. ๊ด€๊ณ„(Relationship)
      • ๐ŸŒ 1-1-5. ์‹๋ณ„์ž
    • โญ์ œ2์žฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ SQL
      • ๐ŸŒ 1-2-1. ์ •๊ทœํ™”
      • ๐ŸŒ 1-2-2. ๊ด€๊ณ„์™€ ์กฐ์ธ์˜ ์ดํ•ด
      • ๐ŸŒ 1-2-3. ๋ชจ๋ธ์ด ํ‘œํ˜„ํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์ดํ•ด
      • ๐ŸŒ 1-2-4. Null ์†์„ฑ์˜ ์ดํ•ด
      • ๐ŸŒ 1-2-5. ๋ณธ์งˆ์‹๋ณ„์ž vs. ์ธ์กฐ์‹๋ณ„์ž
  • ๐Ÿ˜ง๊ณผ๋ชฉ2. SQL ๊ธฐ๋ณธ๊ณผ ํ™œ์šฉ
    • โญ์ œ1์žฅ SQL ๊ธฐ๋ณธ
      • ๐ŸŒ 2-1-1. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์š”
      • ๐ŸŒ 2-1-2. SELECT๋ฌธ
      • ๐ŸŒ 2-1-3. ํ•จ์ˆ˜(FUNCTION)
      • ๐ŸŒ 2-1-4. WHERE ์ ˆ
      • ๐ŸŒ 2-1-5. GROUP BY, HAVING ์ ˆ
      • ๐ŸŒ 2-1-6. ORDER BY ์ ˆ
      • ๐ŸŒ 2-1-7. ์กฐ์ธ
      • ๐ŸŒ 2-1-8. ํ‘œ์ค€ ์กฐ์ธ
    • โญ์ œ2์žฅ SQL ํ™œ์šฉ
      • ๐ŸŒ 2-2-1. ์„œ๋ธŒ ์ฟผ๋ฆฌ
      • ๐ŸŒ 2-2-2. ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž
      • ๐ŸŒ 2-2-3. ๊ทธ๋ฃน ํ•จ์ˆ˜
      • ๐ŸŒ 2-2-4. ์œˆ๋„์šฐ ํ•จ์ˆ˜
      • ๐ŸŒ 2-2-5. Top N ์ฟผ๋ฆฌ
      • ๐ŸŒ 2-2-6. ๊ณ„์ธตํ˜• ์งˆ์˜์™€ ์…€ํ”„ ์กฐ์ธ
      • ๐ŸŒ 2-2-7. PIVOT ์ ˆ๊ณผ UNPIVOT ์ ˆ
      • ๐ŸŒ 2-2-8. ์ •๊ทœ ํ‘œํ˜„์‹
    • โญ์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ
      • ๐ŸŒ 2-3-1. DML
      • ๐ŸŒ 2-3-2. TCL
      • ๐ŸŒ 2-3-3. DDL
      • ๐ŸŒ 2-3-4. DCL
  • ๐Ÿ˜จ๊ณผ๋ชฉ3. SQL ๊ณ ๊ธ‰ ํ™œ์šฉ ๋ฐ ํŠœ๋‹
    • โญ์ œ1์žฅ SQL ์ˆ˜ํ–‰ ๊ตฌ์กฐ
      • ๐ŸŒ 3-1-1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜
      • ๐ŸŒ 3-1-2. SQL ์ฒ˜๋ฆฌ ๊ณผ์ •
      • ๐ŸŒ 3-1-3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค I/O ๋ฉ”์ปค๋‹ˆ์ฆ˜
    • โญ์ œ2์žฅ SQL ๋ถ„์„ ๋„๊ตฌ
      • ๐ŸŒ 3-2-1. ์˜ˆ์ƒ ์‹คํ–‰๊ณ„ํš
      • ๐ŸŒ 3-2-2. SQL ํŠธ๋ ˆ์ด์Šค
      • ๐ŸŒ 3-2-3. ์‘๋‹ต ์‹œ๊ฐ„ ๋ถ„์„
    • โญ์ œ3์žฅ ์ธ๋ฑ์Šค ํŠœ๋‹
      • ๐ŸŒ 3-3-1. ์ธ๋ฑ์Šค ๊ธฐ๋ณธ ์›๋ฆฌ
      • ๐ŸŒ 3-3-2. ํ…Œ์ด๋ธ” ์•ก์„ธ์Šค ์ตœ์†Œํ™”
      • ๐ŸŒ 3-3-3. ์ธ๋ฑ์Šค ์Šค์บ” ํšจ์œจํ™”
      • ๐ŸŒ 3-3-4. ์ธ๋ฑ์Šค ์„ค๊ณ„
    • โญ์ œ4์žฅ ์กฐ์ธ ํŠœ๋‹
      • ๐ŸŒ 3-4-1. NL ์กฐ์ธ
      • ๐ŸŒ 3-4-2. ์†ŒํŠธ ๋จธ์ง€ ์กฐ์ธ
      • ๐ŸŒ 3-4-3. ํ•ด์‹œ ์กฐ์ธ
      • ๐ŸŒ 3-4-4. ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ
      • ๐ŸŒ 3-4-5. ๊ณ ๊ธ‰ ์กฐ์ธ ๊ธฐ๋ฒ•
    • โญ์ œ5์žฅ SQL ์˜ตํ‹ฐ๋งˆ์ด์ €
      • ๐ŸŒ 3-5-1. SQL ์˜ตํ‹ฐ๋งˆ์ด์ง• ์›๋ฆฌ
      • ๐ŸŒ 3-5-2. SQL ๊ณต์œ  ๋ฐ ์žฌ์‚ฌ์šฉ
      • ๐ŸŒ 3-5-3. ์ฟผ๋ฆฌ ๋ณ€ํ™˜
    • โญ์ œ6์žฅ ๊ณ ๊ธ‰ SQL ํŠœ๋‹
      • ๐ŸŒ 3-6-1. ์†ŒํŠธ ํŠœ๋‹
      • ๐ŸŒ 3-6-2. DML ํŠœ๋‹
      • ๐ŸŒ 3-6-3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Call ์ตœ์†Œํ™”
      • ๐ŸŒ 3-6-4. ํŒŒํ‹ฐ์…”๋‹
      • ๐ŸŒ 3-6-5. ๋Œ€์šฉ๋Ÿ‰ ๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ ํŠœ๋‹
      • ๐ŸŒ 3-6-6. ๊ณ ๊ธ‰ SQL ํ™œ์šฉ
    • โญ์ œ7์žฅ Lock๊ณผ ํŠธ๋žœ์žญ์…˜ ๋™์‹œ์„ฑ ์ œ์–ด
      • ๐ŸŒ 3-7-1. Lock
      • ๐ŸŒ 3-7-2. ํŠธ๋žœ์žญ์…˜
      • ๐ŸŒ 3-7-3. ๋™์‹œ์„ฑ ์ œ์–ด
Powered by GitBook
On this page
  • ๊ณผ๋ชฉ2. SQL ๊ธฐ๋ณธ๊ณผ ํ™œ์šฉ
  • ์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ
  • ์ œ1์ ˆ DML
  • 1. INSERT
  • 2. UPDATE
  • 3. DELETE
  • 4. MERGE

Was this helpful?

  1. ๊ณผ๋ชฉ2. SQL ๊ธฐ๋ณธ๊ณผ ํ™œ์šฉ
  2. ์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ

2-3-1. DML

๊ณผ๋ชฉ2. SQL ๊ธฐ๋ณธ๊ณผ ํ™œ์šฉ

์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ

์ œ1์ ˆ DML

์•ž ์ ˆ์—์„œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๋งŒ๋“ค์–ด์ง„ ํ…Œ์ด๋ธ”์— ๊ด€๋ฆฌํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ์ž๋ฃŒ๋“ค์„ ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ, ์กฐํšŒํ•˜๋Š” DML(DATA MANIPULATION LANGUAGE) ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค.

1. INSERT

๊ฐ€. ๋‹จ์ผ ํ–‰ INSERT ๋ฌธ

ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์œผ๋ฉฐ ํ•œ ๋ฒˆ์— ํ•œ ๊ฑด๋งŒ ์ž…๋ ฅ๋œ๋‹ค.

INSERT INTO ํ…Œ์ด๋ธ”๋ช… (COLUMN_LIST)
    VALUES (COLUMN_LIST ์—๋„ฃ์„VALUE_LIST); 
INSERT INTO ํ…Œ์ด๋ธ”๋ช…
    VALUES (์ „์ฒดCOLUMN ์—๋„ฃ์„VALUE_LIST); 

ํ•ด๋‹น ์นผ๋Ÿผ๋ช…๊ณผ ์ž…๋ ฅ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฐ’์„ ์„œ๋กœ 1:1๋กœ ๋งคํ•‘ํ•ด์„œ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ํ•ด๋‹น ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด CHAR๋‚˜ VARCHAR2 ๋“ฑ ๋ฌธ์ž ์œ ํ˜•์ผ ๊ฒฝ์šฐ ใ€Ž ' ใ€(SINGLE QUOTATION)๋กœ ์ž…๋ ฅํ•  ๊ฐ’์„ ์ž…๋ ฅํ•œ๋‹ค. ์ˆซ์ž์ผ ๊ฒฝ์šฐ ใ€Ž ' ใ€(SINGLE QUOTATION)์„ ๋ถ™์ด์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์œ ํ˜•์€ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์นผ๋Ÿผ์˜ ์ˆœ์„œ๋Š” ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ์ˆœ์„œ์™€ ๋งค์น˜ํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ, ์ •์˜ํ•˜์ง€ ์•Š์€ ์นผ๋Ÿผ์€ Default๋กœ NULL ๊ฐ’์ด ์ž…๋ ฅ๋œ๋‹ค. ๋‹จ, Primary Key๋‚˜ Not NULL ๋กœ ์ง€์ •๋œ ์นผ๋Ÿผ์€ NULL์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋‘ ๋ฒˆ์งธ ์œ ํ˜•์€ ๋ชจ๋“  ์นผ๋Ÿผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ๋กœ ๊ตณ์ด COLUMN_LIST๋ฅผ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ, ์นผ๋Ÿผ์˜ ์ˆœ์„œ๋Œ€๋กœ ๋น ์ง์—†์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ] ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์— ๋ฐ•์ง€์„ฑ ์„ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ถ€ ์นผ๋Ÿผ๋งŒ ์ž…๋ ฅํ•œ๋‹ค.

[์˜ˆ์ œ]

โ–ถ ํ…Œ์ด๋ธ”๋ช… : PLAYER

INSERT INTO PLAYER
           (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION
           , HEIGHT, WEIGHT, BACK_NO)
    VALUES ('2002007', '๋ฐ•์ง€์„ฑ', 'K07', 'MF'
           , 178, 73, 7); 

1๊ฐœ์˜ ํ–‰์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

[ํ‘œ โ…ก-1-11]์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์— ์žˆ๋Š” PLAYER ํ…Œ์ด๋ธ”์— ๋ฐ•์ง€์„ฑ ์„ ์ˆ˜ ์ •๋ณด๊ฐ€ ์ž…๋ ฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค. INSERT ๋ฌธ์žฅ์—์„œ BACK_NO๊ฐ€ ๋งˆ์ง€๋ง‰์— ์ •์˜๊ฐ€ ๋˜์—ˆ๋”๋ผ๋„ ํ…Œ์ด๋ธ”์—๋Š” ์นผ๋Ÿผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ๋‹ค. ์นผ๋Ÿผ๋ช…์ด ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ NULL ๊ฐ’์ด ์ž…๋ ฅ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ์ด์ฒญ์šฉ ์„ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด๋ณธ๋‹ค.

[์˜ˆ์ œ]

INSERT INTO PLAYER
    VALUES ( '2002010', '์ด์ฒญ์šฉ', 'K07', '', 'BlueDragon'
           , '2002', 'MF', '17', NULL, NULL, '1', 180, 69 ); 

1๊ฐœ์˜ ํ–‰์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ ์ •์˜๋˜์ง€ ์•Š์€ ๋ฏธ์ง€์˜ ๊ฐ’์ธ E_PLAYER_NAME์€ ๋‘ ๊ฐœ์˜ ใ€Ž '' ใ€SINGLE QUOTATION์„ ๋ถ™์—ฌ์„œ ํ‘œํ˜„ํ•˜๊ฑฐ๋‚˜, NATION์ด๋‚˜ BIRTH_DATE์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ NULL์ด๋ผ๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜. ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋‹ค์ค‘ ํ–‰ INSERT ๋ฌธ

2. UPDATE

์ž…๋ ฅํ•œ ์ •๋ณด ์ค‘์— ์ž˜๋ชป ์ž…๋ ฅ๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ UPDATE ๋ฌธ์žฅ์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ์ด๋‹ค. UPDATE ๋‹ค์Œ์— ์ˆ˜์ •๋˜์–ด์•ผ ํ•  ์นผ๋Ÿผ์ด ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”๋ช…์„ ์ž…๋ ฅํ•˜๊ณ  SET ๋‹ค์Œ์— ์ˆ˜์ •๋˜์–ด์•ผ ํ•  ์นผ๋Ÿผ๋ช…๊ณผ ํ•ด๋‹น ์นผ๋Ÿผ์— ์ˆ˜์ •๋˜๋Š” ๊ฐ’์œผ๋กœ ์ˆ˜์ •์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

UPDATE ํ…Œ์ด๋ธ”๋ช…
  SET ์ˆ˜์ •๋˜์–ด์•ผํ• ์นผ๋Ÿผ๋ช… = ์ˆ˜์ •๋˜๊ธฐ๋ฅผ์›ํ•˜๋Š”์ƒˆ๋กœ์šด๊ฐ’; 

[์˜ˆ์ œ] ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์˜ ๋ฐฑ๋„˜๋ฒ„๋ฅผ ์ผ๊ด„์ ์œผ๋กœ 99๋กœ ์ˆ˜์ •ํ•œ๋‹ค.

[์˜ˆ์ œ]

UPDATE PLAYER
  SET BACK_NO = 99; 

480๊ฐœ์˜ ํ–‰์ด ์ˆ˜์ •๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์˜ ํฌ์ง€์…˜์„ ์ผ๊ด„์ ์œผ๋กœ 'MF'๋กœ ์ˆ˜์ •ํ•œ๋‹ค.

[์˜ˆ์ œ]

UPDATE PLAYER
  SET POSITION = 'MF'; 

480๊ฐœ์˜ ํ–‰์ด ์ˆ˜์ •๋˜์—ˆ๋‹ค.

3. DELETE

ํ…Œ์ด๋ธ”์˜ ์ •๋ณด๊ฐ€ ํ•„์š” ์—†๊ฒŒ ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์‚ญ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‹ค์Œ์€ DELETE ๋ฌธ์žฅ์˜ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์ด๋‹ค. DELETE FROM ๋‹ค์Œ์— ์‚ญ์ œ๋ฅผ ์›ํ•˜๋Š” ์ž๋ฃŒ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํ…Œ์ด๋ธ”๋ช…์„ ์ž…๋ ฅํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค. ์ด๋•Œ FROM ๋ฌธ๊ตฌ๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•œ ํ‚ค์›Œ๋“œ์ด๋ฉฐ, ๋’ค์—์„œ ๋ฐฐ์šธ WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ…Œ์ด๋ธ”์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค.

DELETE [FROM] ์‚ญ์ œ๋ฅผ์›ํ•˜๋Š”์ •๋ณด๊ฐ€๋“ค์–ด์žˆ๋Š”ํ…Œ์ด๋ธ”๋ช…; 

[์˜ˆ์ œ] ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์‚ญ์ œํ•œ๋‹ค.

[์˜ˆ์ œ]

DELETE FROM PLAYER; 

480๊ฐœ์˜ ํ–‰์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” DDL ๋ช…๋ น์–ด์™€ DML ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ์žˆ์–ด์„œ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋‹ค. DDL(CREATE, ALTER, RENAME, DROP) ๋ช…๋ น์–ด์ธ ๊ฒฝ์šฐ์—๋Š” ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์— DDL ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์ˆœ๊ฐ„ ๋ช…๋ น์–ด์— ํ•ด๋‹นํ•˜๋Š” ์ž‘์—…์ด ์ฆ‰์‹œ(AUTO COMMIT) ์™„๋ฃŒ๋œ๋‹ค. ํ•˜์ง€๋งŒ DML(INSERT, UPDATE, DELETE, SELECT) ๋ช…๋ น์–ด์˜ ๊ฒฝ์šฐ, ์กฐ์ž‘ํ•˜๋ ค๋Š” ํ…Œ์ด๋ธ”์„ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ์— ์˜ฌ๋ ค๋†“๊ณ  ์ž‘์—…์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…Œ์ด๋ธ”์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒ„ํผ์—์„œ ์ฒ˜๋ฆฌํ•œ DML ๋ช…๋ น์–ด๊ฐ€ ์‹ค์ œ ํ…Œ์ด๋ธ”์— ๋ฐ˜์˜๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” COMMIT ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ TRANSACTION์„ ์ข…๋ฃŒํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SQL Server์˜ ๊ฒฝ์šฐ๋Š” DML์˜ ๊ฒฝ์šฐ๋„ AUTO COMMIT์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ํ…Œ์ด๋ธ”์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด COMMIT ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ํ…Œ์ด๋ธ”์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ, ์‹œ์Šคํ…œ ํ™œ์šฉ ์ธก๋ฉด์—์„œ๋Š” ์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๊ทธ๋กœ ์ €์žฅํ•˜๋Š” DELETE TABLE ๋ณด๋‹ค๋Š” ์‹œ์Šคํ…œ ๋ถ€ํ•˜๊ฐ€ ์ ์€ TRUNCATE TABLE์„ ๊ถŒ๊ณ ํ•œ๋‹ค. ๋‹จ, TRUNCATE TABLE์˜ ๊ฒฝ์šฐ ์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ์˜ ๋กœ๊ทธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ROLLBACK์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SQL Server์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜์ ์œผ๋กœ ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•œ ํ›„ TRUNCATE TABLE์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•œ ์ดํ›„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ๊ฒฌ๋˜์–ด, ๋‹ค์‹œ ๋ณต๊ตฌ๋ฅผ ์›ํ•  ๊ฒฝ์šฐ ROLLBACK ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ฅผ ์› ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋žœ์žญ์…˜๊ณผ COMMIT, ROLLBACK์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ์ ˆ์—์„œ ์„ค๋ช…ํ•œ๋‹ค.

4. MERGE

Previous์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธNext2-3-2. TCL

Last updated 3 years ago

Was this helpful?

์ถœ์ฒ˜ : ๋ฐ์ดํ„ฐ์˜จ์—์–ด โ€“ ํ•œ๊ตญ๋ฐ์ดํ„ฐ์‚ฐ์—…์ง„ํฅ์›()

๐Ÿ˜ง
โญ
๐ŸŒ 
https://dataonair.or.kr