๐Ÿ˜—
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์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ
  • ์ œ3์ ˆ DDL
  • 1. CREATE TABLE
  • 2. ALTER TABLE
  • 3. RENAME TABLE
  • 4. DROP TABLE
  • 5. TRUNCATE TABLE

Was this helpful?

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

2-3-3. DDL

Previous2-3-2. TCLNext2-3-4. DCL

Last updated 3 years ago

Was this helpful?

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

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

์ œ3์ ˆ DDL

1. CREATE TABLE

ํ…Œ์ด๋ธ”์€ ์ผ์ •ํ•œ ํ˜•์‹์— ์˜ํ•ด์„œ ์ƒ์„ฑ๋œ๋‹ค. ํ…Œ์ด๋ธ” ์ƒ์„ฑ์„ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ์ž…๋ ฅ๋  ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•˜๊ณ , ์ •์˜ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์œผ๋กœ ์„ ์–ธํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ€. ํ…Œ์ด๋ธ”๊ณผ ์นผ๋Ÿผ ์ •์˜

ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด์„œ ๋ฐ˜๋“œ์‹œ ๊ฐ’์ด ์กด์žฌํ•˜๋Š” ๋‹จ์ผ ์นผ๋Ÿผ์ด๋‚˜ ์นผ๋Ÿผ์˜ ์กฐํ•ฉ๋“ค(ํ›„๋ณดํ‚ค) ์ค‘์— ํ•˜๋‚˜๋ฅผ ์„ ์ •ํ•˜์—ฌ ๊ธฐ๋ณธํ‚ค ์นผ๋Ÿผ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค. ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์„ ์˜ˆ๋กœ ๋“ค๋ฉด '์„ ์ˆ˜ID' ์นผ๋Ÿผ์ด ๊ธฐ๋ณธํ‚ค๋กœ ์ ๋‹นํ•  ๊ฒƒ์ด๋‹ค. ๊ธฐ๋ณธํ‚ค๋Š” ๋‹จ์ผ ์นผ๋Ÿผ์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์นผ๋Ÿผ์œผ๋กœ๋„ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”๊ณผ ํ…Œ์ด๋ธ” ๊ฐ„์— ์ •์˜๋œ ๊ด€๊ณ„๋Š” ๊ธฐ๋ณธํ‚ค(PRIMARY KEY)์™€ ์™ธ๋ถ€ํ‚ค(FOREIGN KEY)๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ค์ •ํ•˜๋„๋ก ํ•œ๋‹ค. ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์— ์„ ์ˆ˜์˜ ์†Œ์†ํŒ€ ์ •๋ณด๊ฐ€ ๊ฐ™์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ํŠน์ • ํŒ€์˜ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๊ทธ ํŒ€์— ์†Œ์†๋œ ์„ ์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ผ์ด ์ฐพ์•„์„œ ์ˆ˜์ •์„ ํ•˜๊ฑฐ๋‚˜, ๋˜ํ•œ ํŒ€์ด ํ•ด์ฒด๋˜์—ˆ์„ ๊ฒฝ์šฐ ์„ ์ˆ˜ ๊ด€๋ จ ์ •๋ณด๊นŒ์ง€ ์‚ญ์ œ๋˜๋Š” ์ˆ˜์ •/์‚ญ์ œ ์ด์ƒ(Anomaly) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ด์ƒ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํŒ€ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํŒ€ ํ…Œ์ด๋ธ”์„ ๋ณ„๋„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ํŒ€ID์™€ ํŒ€ ์ด๋ฆ„์„ ์ €์žฅํ•˜๊ณ , ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์—์„œ๋Š” ํŒ€ID๋ฅผ ์™ธ๋ถ€ํ‚ค๋กœ ์ฐธ์กฐํ•˜๊ฒŒ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๋ฐ ์ •๊ทœํ™”์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์—…๋ฌด๋ฅผ ๊ฐœ์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธ‰ SQL์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋‚ด์šฉ์ด๋ฏ€๋กœ ์ด ๋ถ€๋ถ„๋„ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์€ ํ•™์Šตํ•  ๊ฒƒ์„ ๊ถŒ๊ณ ํ•œ๋‹ค.

  • ์•„๋ž˜๋Š” ์„ ์ˆ˜ ์ •๋ณด์™€ ํ•จ๊ป˜ K-๋ฆฌ๊ทธ์™€ ๊ด€๋ จ ์žˆ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋“ค๋„ ๊ฐ™์ด ์‚ดํŽด๋ณธ ๋‚ด์šฉ์ด๋‹ค.

  • K-๋ฆฌ๊ทธ์™€๋Š” ๋ณ„๊ฐœ๋กœ ํšŒ์‚ฌ์˜ ๋ถ€์„œ์™€ ์‚ฌ์› ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ๋“ค๋„ ์ •๋ฆฌํ•œ๋‹ค.

๋‚˜. CREATE TABLE

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ๊ตฌ๋ฌธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

CREATE TABLE ํ…Œ์ด๋ธ”์ด๋ฆ„(
      ์นผ๋Ÿผ๋ช…1 DATATYPE [DEFAULT ํ˜•์‹]
    , ์นผ๋Ÿผ๋ช…2 DATATYPE [DEFAULT ํ˜•์‹]
    , ์นผ๋Ÿผ๋ช…2 DATATYPE [DEFAULT ํ˜•์‹]
);

๋‹ค์Œ์€ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ์— ์ฃผ์˜ํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๊ทœ์น™์ด๋‹ค.

  • ํ…Œ์ด๋ธ”๋ช…์€ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ€๋Šฅํ•œ ๋‹จ์ˆ˜ํ˜•์„ ๊ถŒ๊ณ ํ•œ๋‹ค.

  • ํ…Œ์ด๋ธ” ๋ช…์€ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

  • ํ•œ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ๋Š” ์นผ๋Ÿผ๋ช…์ด ์ค‘๋ณต๋˜๊ฒŒ ์ง€์ •๋  ์ˆ˜ ์—†๋‹ค.

  • ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ๊ฐ ์นผ๋Ÿผ๋“ค์€ ๊ด„ํ˜ธ "( )" ๋กœ ๋ฌถ์–ด ์ง€์ •ํ•œ๋‹ค.

  • ๊ฐ ์นผ๋Ÿผ๋“ค์€ ์ฝค๋งˆ ","๋กœ ๊ตฌ๋ถ„๋˜๊ณ , ํ…Œ์ด๋ธ” ์ƒ์„ฑ๋ฌธ์˜ ๋์€ ํ•ญ์ƒ ์„ธ๋ฏธ์ฝœ๋ก  ";"์œผ๋กœ ๋๋‚œ๋‹ค.

  • ์นผ๋Ÿผ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๊นŒ์ง€ ๊ณ ๋ คํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ๋Š” ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.(๋ฐ์ดํ„ฐ ํ‘œ์ค€ํ™” ๊ด€์ )

  • ์นผ๋Ÿผ ๋’ค์— ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๊ผญ ์ง€์ •๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ํ…Œ์ด๋ธ”๋ช…๊ณผ ์นผ๋Ÿผ๋ช…์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๊ณ , ๋ฒค๋”๋ณ„๋กœ ๊ธธ์ด์— ๋Œ€ํ•œ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

  • ๋ฒค๋”์—์„œ ์‚ฌ์ „์— ์ •์˜ํ•œ ์˜ˆ์•ฝ์–ด(Reserved word)๋Š” ์“ธ ์ˆ˜ ์—†๋‹ค.

  • A-Z, a-z, 0-9, _, $, # ๋ฌธ์ž๋งŒ ํ—ˆ์šฉ๋œ๋‹ค.

  • ํ…Œ์ด๋ธ”๋ช…์ด ์ž˜๋ชป๋œ ์‚ฌ๋ก€

ํ•œ ํ…Œ์ด๋ธ” ์•ˆ์—์„œ ์นผ๋Ÿผ ์ด๋ฆ„์€ ๋‹ฌ๋ผ์•ผ ํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ์ด๋ฆ„๊ณผ๋Š” ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์˜ TEAM_ID, ํŒ€ ํ…Œ์ด๋ธ”์˜ TEAM_ID๋Š” ๊ฐ™์€ ์นผ๋Ÿผ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์‹ค์ œ DBMS๋Š” ํŒ€ ํ…Œ์ด๋ธ”์˜ TEAM_ID๋ฅผ PC๋‚˜ UNIX์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์ฒ˜๋Ÿผ 'DB๋ช…+DB์‚ฌ์šฉ์ž๋ช…+ํ…Œ์ด๋ธ”๋ช…+์นผ๋Ÿผ๋ช…'์ฒ˜๋Ÿผ ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์ „์ฒด ๊ฒฝ๋กœ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์นผ๋Ÿผ๋“ค์€ ๊ธฐ๋ณธํ‚ค์™€ ์™ธ๋ž˜ํ‚ค์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ํ–ฅํ›„ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์กฐ์ธ ์กฐ๊ฑด์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ ์นผ๋Ÿผ๋“ค์ด๋‹ค.

[์˜ˆ์ œ] ๋‹ค์Œ ์กฐ๊ฑด์˜ ํ˜•ํƒœ๋กœ ํŒ€ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

ํ…Œ์ด๋ธ”๋ช… : TEAM 
ํ…Œ์ด๋ธ” ์„ค๋ช… : K-๋ฆฌ๊ทธ ์„ ์ˆ˜๋“ค์˜ ์†Œ์†ํŒ€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ” 
์นผ๋Ÿผ๋ช… : TEAM_ID (ํŒ€ ๊ณ ์œ  ID) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       REGION_NAME (์—ฐ๊ณ ์ง€ ๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 8์ž๋ฆฌ,
       TEAM_NAME (ํ•œ๊ธ€ ํŒ€ ๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 40์ž๋ฆฌ,
       E-TEAM_NAME (์˜๋ฌธ ํŒ€ ๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 50์ž๋ฆฌ ,
       ORIG_YYYY (์ฐฝ๋‹จ๋…„๋„) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 4์ž๋ฆฌ,
       STADIUM_ID (๊ตฌ์žฅ ๊ณ ์œ  ID) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       ZIP_CODE1 (์šฐํŽธ๋ฒˆํ˜ธ ์•ž 3์ž๋ฆฌ) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       ZIP_CODE2 (์šฐํŽธ๋ฒˆํ˜ธ ๋’ท 3์ž๋ฆฌ) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       ADDRESS (์ฃผ์†Œ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 80์ž๋ฆฌ,
       DDD (์ง€์—ญ๋ฒˆํ˜ธ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       TEL (์ „ํ™”๋ฒˆํ˜ธ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 10์ž๋ฆฌ,
       FAX (ํŒฉ์Šค๋ฒˆํ˜ธ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 10์ž๋ฆฌ,
       HOMEPAGE (ํ™ˆํŽ˜์ด์ง€) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 50์ž๋ฆฌ
       OWNER (๊ตฌ๋‹จ์ฃผ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 10์ž๋ฆฌ,
์ œ์•ฝ์กฐ๊ฑด : ๊ธฐ๋ณธ ํ‚ค(PRIMARY KEY) โ†’ TEAM_ID (์ œ์•ฝ์กฐ๊ฑด๋ช…์€ TEAM_ID_PK)
                NOT NULL โ†’ REGION_NAME, TEAM_NAME, STADIUM_ID (์ œ์•ฝ์กฐ๊ฑด๋ช…์€ ๋ฏธ์ ์šฉ)

[์˜ˆ์ œ] Oracle

CREATE TABLE TEAM
 (
          TEAM_ID CHAR(3) NOT NULL
    , REGION_NAME VARCHAR2(8) NOT NULL
    ,   TEAM_NAME VARCHAR2(40) NOT NULL
    , E_TEAM_NAME VARCHAR2(50)
    ,   ORIG_YYYY CHAR(4)
    ,  STADIUM_ID CHAR(3) NOT NULL
    ,   ZIP_CODE1 CHAR(3)
    ,   ZIP_CODE2 CHAR(3)
    ,     ADDRESS VARCHAR2(80)
    ,         DDD VARCHAR2(3)
    ,         TEL VARCHAR2(10)
    ,         FAX VARCHAR2(10)
    ,    HOMEPAGE VARCHAR2(50)
    ,       OWNER VARCHAR2(10),
    CONSTRAINT TEAM_PK PRIMARY KEY (TEAM_ID),
    CONSTRAINT TEAM_FK FOREIGN KEY (STADIUM_ID) REFERENCES STADIUM(STADIUM_ID)
 ); 

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

CREATE TABLE TEAM
 (
          TEAM_ID CHAR(3) NOT NULL
    , REGION_NAME VARCHAR(8) NOT NULL
    ,   TEAM_NAME VARCHAR(40) NOT NULL
    , E_TEAM_NAME VARCHAR(50)
    ,   ORIG_YYYY CHAR(4)
    ,  STADIUM_ID CHAR(3) NOT NULL
    ,   ZIP_CODE1 CHAR(3)
    ,   ZIP_CODE2 CHAR(3)
    ,     ADDRESS VARCHAR(80)
    ,         DDD VARCHAR(3)
    ,         TEL VARCHAR(10)
    ,         FAX VARCHAR(10)
    ,    HOMEPAGE VARCHAR(50)
    ,       OWNER VARCHAR(10),
    CONSTRAINT TEAM_PK PRIMARY KEY (TEAM_ID),
    CONSTRAINT TEAM_FK FOREIGN KEY (STADIUM_ID) REFERENCES STADIUM(STADIUM_ID)
 ); 

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] ๋‹ค์Œ ์กฐ๊ฑด์˜ ํ˜•ํƒœ๋กœ ์„ ์ˆ˜ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

ํ…Œ์ด๋ธ”๋ช… : PLAYER
ํ…Œ์ด๋ธ” ์„ค๋ช… : K-๋ฆฌ๊ทธ ์„ ์ˆ˜๋“ค์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”
์นผ๋Ÿผ๋ช… : PLAYER_ID (์„ ์ˆ˜ID) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 7์ž๋ฆฌ,
       PLAYER_NAME (์„ ์ˆ˜๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 20์ž๋ฆฌ,
       TEAM_ID (ํŒ€ID) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 3์ž๋ฆฌ,
       E_PLAYER_NAME (์˜๋ฌธ์„ ์ˆ˜๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 40์ž๋ฆฌ,
       NICKNAME (์„ ์ˆ˜๋ณ„๋ช…) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 30์ž๋ฆฌ,
       JOIN_YYYY (์ž…๋‹จ๋…„๋„) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 4์ž๋ฆฌ,
       POSITION (ํฌ์ง€์…˜) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 10์ž๋ฆฌ,
       BACK_NO (๋“ฑ๋ฒˆํ˜ธ) ์ˆซ์ž 2์ž๋ฆฌ,
       NATION (๊ตญ์ ) ๋ฌธ์ž ๊ฐ€๋ณ€ ์ž๋ฆฟ์ˆ˜ 20์ž๋ฆฌ,
       BIRTH_DATE (์ƒ๋…„์›”์ผ) ๋‚ ์งœ,
       SOLAR (์–‘/์Œ) ๋ฌธ์ž ๊ณ ์ • ์ž๋ฆฟ์ˆ˜ 1์ž๋ฆฌ,
       HEIGHT (์‹ ์žฅ) ์ˆซ์ž 3์ž๋ฆฌ,
       WEIGHT (๋ชธ๋ฌด๊ฒŒ) ์ˆซ์ž 3์ž๋ฆฌ, 
์ œ์•ฝ์กฐ๊ฑด : ๊ธฐ๋ณธํ‚ค(PRIMARY KEY) โ†’ PLAYER_ID (์ œ์•ฝ์กฐ๊ฑด๋ช…์€ PLAYER_ID_PK) ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ์กด์žฌ
                  (NOT NULL) โ†’ PLAYER_NAME, TEAM_ID

[์˜ˆ์ œ] Oracle

CREATE TABLE PLAYER
 (
          PLAYER_ID CHAR(7) NOT NULL
    ,   PLAYER_NAME VARCHAR2(20) NOT NULL
    ,       TEAM_ID CHAR(3) NOT NULL
    , E_PLAYER_NAME VARCHAR2(40)
    ,      NICKNAME VARCHAR2(30)
    ,     JOIN_YYYY CHAR(4)
    ,      POSITION VARCHAR2(10)
    ,       BACK_NO NUMBER(2)
    ,        NATION VARCHAR2(20)
    ,    BIRTH_DATE DATE
    ,         SOLAR CHAR(1)
    ,        HEIGHT NUMBER(3)
    ,        WEIGHT NUMBER(3),
    CONSTRAINT PLAYER_PK PRIMARY KEY (PLAYER_ID),
    CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID)
 ); 

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

CREATE TABLE PLAYER
 (
          PLAYER_ID CHAR(7) NOT NULL
    ,   PLAYER_NAME VARCHAR(20) NOT NULL
    ,       TEAM_ID CHAR(3) NOT NULL
    , E_PLAYER_NAME VARCHAR(40)
    ,      NICKNAME VARCHAR(30)
    ,     JOIN_YYYY CHAR(4)
    ,      POSITION VARCHAR(10)
    ,       BACK_NO TINYINT
    ,        NATION VARCHAR(20)
    ,    BIRTH_DATE DATE
    ,         SOLAR CHAR(1)
    ,        HEIGHT SMALLINT
    ,        WEIGHT SMALLINT,
    CONSTRAINT PLAYER_PK PRIMARY KEY (PLAYER_ID),
    CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID)
 ); 

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์˜ˆ์ œ์—์„œ ์ถ”๊ฐ€์ ์ธ ์ฃผ์˜ ์‚ฌํ•ญ ๋ช‡ ๊ฐ€์ง€๋ฅผ ํ™•์ธํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ ๋Œ€/์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ด๋ธ”์ด๋‚˜ ์นผ๋Ÿผ๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

  • DATETIME ๋ฐ์ดํ„ฐ ์œ ํ˜•์—๋Š” ๋ณ„๋„๋กœ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ๋ฌธ์ž ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๋ฐ˜๋“œ์‹œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ํ‘œ์‹œํ•ด์•ผ ํ•œ๋‹ค.

  • ์นผ๋Ÿผ๊ณผ ์นผ๋Ÿผ์˜ ๊ตฌ๋ถ„์€ ์ฝค๋งˆ๋กœ ํ•˜๋˜, ๋งˆ์ง€๋ง‰ ์นผ๋Ÿผ์€ ์ฝค๋งˆ๋ฅผ ์ฐ์ง€ ์•Š๋Š”๋‹ค.

  • ์นผ๋Ÿผ์— ๋Œ€ํ•œ ์ œ์•ฝ์กฐ๊ฑด์ด ์žˆ์œผ๋ฉด CONSTRAINT๋ฅผ ์ด์šฉํ•˜์—ฌ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ œ์•ฝ์กฐ๊ฑด์€ PLAYER_NAME, TEAM_ID ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋’ค์— NOT NULL์„ ์ •์˜ํ•œ ์‚ฌ๋ก€์™€ ๊ฐ™์€ ์นผ๋Ÿผ LEVEL ์ •์˜ ๋ฐฉ์‹๊ณผ, PLAYER_PK PRIMARY KEY, PLAYER_FK FOREIGN KEY ์‚ฌ๋ก€์ฒ˜๋Ÿผ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋งˆ์ง€๋ง‰์— ๋ชจ๋“  ์ œ์•ฝ์กฐ๊ฑด์„ ๊ธฐ์ˆ ํ•˜๋Š” ํ…Œ์ด๋ธ” LEVEL ์ •์˜ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ํ•˜๋‚˜์˜ SQL ๋ฌธ์žฅ ๋‚ด์—์„œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์€ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋‹ค. ์ œ์•ฝ์กฐ๊ฑด(CONSTRAINT)

์ œ์•ฝ์กฐ๊ฑด(CONSTRAINT)์ด๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋งŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ฆ‰ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ณดํŽธ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์นผ๋Ÿผ์— ์„ค์ •ํ•˜๋Š” ์ œ์•ฝ์ด๋‹ค. ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ์ œ์•ฝ์กฐ๊ฑด์„ ๋ฐ˜๋“œ์‹œ ๊ธฐ์ˆ ํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ, ์ดํ›„์— ALTER TABLE์„ ์ด์šฉํ•ด์„œ ์ถ”๊ฐ€, ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ ์ž…๋ ฅ๋œ ๊ฒฝ์šฐ๋ผ๋ฉด ์ฒ˜๋ฆฌ ๊ณผ์ •์ด ์‰ฝ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ดˆ๊ธฐ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ์ ๋ถ€ํ„ฐ ์ ํ•ฉํ•œ ์ œ์•ฝ ์กฐ๊ฑด์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ๊ฒ€ํ† ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • ์ œ์•ฝ์กฐ๊ฑด์˜ ์ข…๋ฅ˜

  • NULL ์˜๋ฏธ

NULL(ASCII ์ฝ”๋“œ 00๋ฒˆ)์€ ๊ณต๋ฐฑ(BLANK, ASCII ์ฝ”๋“œ 32๋ฒˆ)์ด๋‚˜ ์ˆซ์ž 0(ZERO, ASCII 48)๊ณผ๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฐ’์ด๋ฉฐ, ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ์˜ ๊ณต์ง‘ํ•ฉ๊ณผ๋„ ๋‹ค๋ฅด๋‹ค. 'NULL'์€ '์•„์ง ์ •์˜๋˜์ง€ ์•Š์€ ๋ฏธ์ง€์˜ ๊ฐ’'์ด๊ฑฐ๋‚˜ 'ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ'๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • DEFAULT ์˜๋ฏธ

๋ฐ์ดํ„ฐ ์ž…๋ ฅ ์‹œ ์นผ๋Ÿผ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— NULL ๊ฐ’์ด ์ž…๋ ฅ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์ „์— DEFAULT ๊ฐ’์„ ์ •์˜ํ–ˆ๋‹ค๋ฉด ํ•ด๋‹น ์นผ๋Ÿผ์— NULL ๊ฐ’์ด ์ž…๋ ฅ๋˜์ง€ ์•Š๊ณ  ์‚ฌ์ „์— ์ •์˜๋œ ๊ธฐ๋ณธ ๊ฐ’์ด ์ž๋™์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.

๋ผ. ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ํ™•์ธ

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ ํ›„ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. Oracle์˜ ๊ฒฝ์šฐ "DESCRIBE ํ…Œ์ด๋ธ”๋ช…;" ๋˜๋Š” ๊ฐ„๋žตํžˆ "DESC ํ…Œ์ด๋ธ”๋ช…;"์œผ๋กœ ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. SQL Server์˜ ๊ฒฝ์šฐ "sp_help 'dbo.ํ…Œ์ด๋ธ”๋ช…'"์œผ๋กœ ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[์˜ˆ์ œ] ์„ ์ˆ˜(PLAYER) ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•œ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESCRIBE PLAYER;
์นผ๋Ÿผ
NULL ๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ ์œ ํ˜•

PLAYER_ID

NOT NULL

CHAR(7)

PLAYER_NAME

NOT NULL

VARCHAR2(20)

TEAM_ID

NOT NULL

CHAR(3)

E_PLAYER_NAME

VARCHAR2(40)

NICKNAME

VARCHAR2(30)

JOIN_YYYY

CHAR(4)

POSITION

VARCHAR2(10)

BACK_NO

NUMBER(2)

NATION

VARCHAR2(20)

BIRTH_DATE

DATE

SOLAR

CHAR(1)

HEIGHT

NUMBER(3)

WEIGHT

NUMBER(3)

13 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec sp_help 'dbo.PLAYER'
go
์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธธ์ด
NULL ๊ฐ€๋Šฅ

PLAYER_ID

CHAR(7)

7

NO

PLAYER_NAME

VARCHAR(20)

20

NO

TEAM_ID

CHAR(3)

3

NO

E_PLAYER_NAME

VARCHAR(40)

40

YES

NICKNAME

VARCHAR(30)

30

YES

JOIN_YYYY

CHAR(4)

4

YES

POSITION

VARCHAR(10)

10

YES

BACK_NO

TINYINT

1

YES

NATION

VARCHAR(20)

20

YES

BIRTH_DATE

DATE

3

YES

SOLAR

CHAR(1)

1

YES

HEIGHT

SMALLINT

2

YES

WEIGHT

SMALLINT

2

YES

13 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ. SELECT ๋ฌธ์žฅ์„ ํ†ตํ•œ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‚ฌ๋ก€

๋‹ค์Œ ์ ˆ์—์„œ ๋ฐฐ์šธ DML ๋ฌธ์žฅ ์ค‘์— SELECT ๋ฌธ์žฅ์„ ํ™œ์šฉํ•ด์„œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•(CTAS: CREATE TABLE ~ As SELECT ~)์ด ์žˆ๋‹ค. ๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•œ CTAS ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์นผ๋Ÿผ๋ณ„๋กœ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋‹ค์‹œ ์žฌ์ •์˜ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ CTAS ๊ธฐ๋ฒ• ์‚ฌ์šฉ์‹œ ์ฃผ์˜ํ•  ์ ์€ ๊ธฐ์กด ํ…Œ์ด๋ธ”์˜ ์ œ์•ฝ์กฐ๊ฑด ์ค‘์— NOT NULL๋งŒ ์ƒˆ๋กœ์šด ๋ณต์ œ ํ…Œ์ด๋ธ”์— ์ ์šฉ์ด ๋˜๊ณ , ๊ธฐ๋ณธํ‚ค, ๊ณ ์œ ํ‚ค, ์™ธ๋ž˜ํ‚ค, CHECK ๋“ฑ์˜ ๋‹ค๋ฅธ ์ œ์•ฝ ์กฐ๊ฑด์€ ์—†์–ด์ง„๋‹ค๋Š” ์ ์ด๋‹ค. ์ œ์•ฝ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋’ค์— ๋‚˜์˜ค๋Š” ALTER TABLE ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. SQL Server์—์„œ๋Š” SELECT ~ Into ~ ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์œ„์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์นผ๋Ÿผ ์†์„ฑ์— Identity๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด Identity ์†์„ฑ๊นŒ์ง€ ๊ฐ™์ด ์ ์šฉ์ด ๋œ๋‹ค.

[์˜ˆ์ œ] ์„ ์ˆ˜(PLAYER) ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์œผ๋กœ TEAM_TEMP๋ผ๋Š” ๋ณต์‚ฌ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด ๋ณธ๋‹ค.

[์˜ˆ์ œ] Oracle

CREATE TABLE TEAM_TEMP AS SELECT * FROM TEAM; 

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESC TEAM_TEMP; 
์นผ๋Ÿผ
NULL ๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ ์œ ํ˜•

TEAM_ID

NOT NULL

CHAR(3)

REGION_NAME

NOT NULL

VARCHAR2(4)

TEAM_NAME

NOT NULL

VARCHAR2(40)

E_TEAM_NAME

VARCHAR2(50)

ORIG_YYYY

CHAR(4)

STADIUM_ID

NOT NULL

CHAR(3)

ZIP_CODE1

CHAR(3)

ZIP_CODE2

CHAR(3)

ADDRESS

VARCHAR2(80)

DDD

VARCHAR2(3)

TEL

VARCHAR2(10)

FAX

VARCHAR2(10)

HOMEPAGE

VARCHAR2(50)

OWNER

VARCHAR2(10)

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

SELECT * INTO TEAM_TEMP FROM TEAM; 

(1๊ฐœ ํ–‰์ด ์˜ํ–ฅ์„ ๋ฐ›์Œ)

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec sp_help 'dbo.TEAM_TEMP' go
์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ์œ ํ˜•
๊ธธ์ด
NULL๊ฐ€๋Šฅ

TEAM_ID

CHAR(3)

3

NO

REGION_NAME

VARCHAR(8)

8

NO

TEAM_NAME

VARCHAR(40)

40

NO

E_TEAM_NAME

VARCHAR(50)

50

YES

ORIG_YYYY

CHAR(4)

4

YES

STADIUM_ID

CHAR(3)

3

NO

ZIP_CODE1

CHAR(3)

3

YES

ZIP_CODE2

CHAR(3)

3

YES

ADDRESS

VARCHAR(80)

80

YES

DDD

VARCHAR(3)

3

YES

TEL

VARCHAR(10)

10

YES

FAX

VARCHAR(10)

10

YES

HOMEPAGE

VARCHAR(50)

50

YES

OWNER

VARCHAR(10)

10

YES

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2. ALTER TABLE

ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์€ ํŠน๋ณ„ํžˆ ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ „๊นŒ์ง€ ์ƒ์„ฑ ๋‹น์‹œ์˜ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ์ฒ˜์Œ์˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์ด์ง€๋งŒ, ์—…๋ฌด์ ์ธ ์š”๊ตฌ ์‚ฌํ•ญ์ด๋‚˜ ์‹œ์Šคํ…œ ์šด์˜์ƒ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๋„์ค‘์— ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ผ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฃผ๋กœ ์นผ๋Ÿผ์„ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

๊ฐ€. ADD COLUMN

๋‹ค์Œ์€ ๊ธฐ์กด ํ…Œ์ด๋ธ”์— ํ•„์š”ํ•œ ์นผ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD ์ถ”๊ฐ€ํ• ์นผ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐ์œ ํ˜•; 

์ฃผ์˜ํ•  ๊ฒƒ์€ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ์นผ๋Ÿผ์€ ํ…Œ์ด๋ธ”์˜ ๋งˆ์ง€๋ง‰ ์นผ๋Ÿผ์ด ๋˜๋ฉฐ ์นผ๋Ÿผ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋Š” ์—†๋‹ค.

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์— ADDRESS(๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๊ฐ€๋ณ€ ๋ฌธ์ž๋กœ ์ž๋ฆฟ์ˆ˜ 80์ž๋ฆฌ๋กœ ์„ค์ •ํ•œ๋‹ค.) ์นผ๋Ÿผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER ADD (ADDRESS VARCHAR2(80)); 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESC PLAYER; 
์นผ๋Ÿผ
NULL ๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ ์œ ํ˜•

PLAYER_ID

NOT NULL

CHAR(7)

PLAYER_NAME

NOT NULL

VARCHAR2(20)

TEAM_ID

NOT NULL

CHAR(3)

E_PLAYER_NAME

VARCHAR2(40)

NICKNAME

VARCHAR2(30)

JOIN_YYYY

CHAR(4)

POSITION

VARCHAR2(10)

BACK_NO

NUMBER(2)

NATION

VARCHAR2(20)

BIRTH_DATE

DATE

SOLAR

CHAR(1)

HEIGHT

NUMBER(3)

WEIGHT

NUMBER(3)

ADDRESS

โ˜œ ์ถ”๊ฐ€๋œ ์—ด

VARCHAR2(80)

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

ALTER TABLE PLAYER ADD ADDRESS VARCHAR(80); 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec SP_HELP 'dbo.PLAYER' GO 
์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธธ์ด
NULL๊ฐ€๋Šฅ

PLAYER_ID

CHAR(7)

7

NO

PLAYER_NAME

VARCHAR(20

20

NO

TEAM_ID

CHAR(3)

3

NO

E_PLAYER_NAME

VARCHAR(40)

40

YES

NICKNAME

VARCHAR(30)

30

YES

JOIN_YYYY

CHAR(4)

4

YES

POSITION

VARCHAR(10)

10

YES

BACK_NO

TINYINT

1

YES

NATION

VARCHAR(20)

20

YES

BIRTH_DATE

DATE

3

YES

SOLAR

CHAR(1)

1

YES

HEIGHT

SMALLINT

2

YES

WEIGHT

SMALLINT

2

YES

ADDRESS

VARCHAR(80)

80

YES

โ˜œ ์ถ”๊ฐ€๋œ ์—ด

13 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜. DROP COLUMN

DROP COLUMN์€ ํ…Œ์ด๋ธ”์—์„œ ํ•„์š” ์—†๋Š” ์นผ๋Ÿผ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์—†๊ฑฐ๋‚˜ ๋ชจ๋‘ ์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์นผ๋Ÿผ๋งŒ ์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์นผ๋Ÿผ ์‚ญ์ œ ํ›„ ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์นผ๋Ÿผ์ด ํ…Œ์ด๋ธ”์— ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ์ฃผ์˜ํ•  ๋ถ€๋ถ„์€ ํ•œ ๋ฒˆ ์‚ญ์ œ๋œ ์นผ๋Ÿผ์€ ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค์Œ์€ ํ…Œ์ด๋ธ”์˜ ๋ถˆํ•„์š”ํ•œ ์นผ๋Ÿผ์„ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP COLUMN ์‚ญ์ œ ํ• ์นผ๋Ÿผ๋ช…;

[์˜ˆ์ œ] ์•ž์—์„œ PLAYER ํ…Œ์ด๋ธ”์— ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•œ ADDRESS ์นผ๋Ÿผ์„ ์‚ญ์ œํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER DROP COLUMN ADDRESS; 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

ALTER TABLE PLAYER DROP COLUMN ADDRESS; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ์—์„œ ์‚ญ์ œ๋œ ์นผ๋Ÿผ ADDRESS๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESC PLAYER; 
์นผ๋Ÿผ
NULL๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ์œ ํ˜•

PLAYER_ID

NOT

NULL

CHAR(7)

PLAYER_NAME

NOT

NULL

VARCHAR2(20)

TEAM_ID

NOT

NULL

CHAR(3)

E_PLAYER_NAME

VARCHAR2(40)

NICKNAME

VARCHAR2(30)

JOIN_YYYY

CHAR(4)

POSITION

VARCHAR2(10)

BACK_NO

NUMBER(2)

NATION

VARCHAR2(20)

BIRTH_DATE

DATE

SOLAR

CHAR(1)

HEIGHT

NUMBER(3)

WEIGHT

NUMBER(3)

13 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec SP_HELP 'dbo.PLAYER'
GO 
์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธธ์ด
NULL ๊ฐ€๋Šฅ

PLAYER_ID

CHAR(7)

7

NO

PLAYER_NAME

VARCHAR(20)

20

NO

TEAM_ID

CHAR(3)

3

NO

E_PLAYER_NAME

VARCHAR(40)

40

YES

NICKNAME

VARCHAR(30)

30

YES

JOIN_YYYY

CHAR(4)

4

YES

POSITION

VARCHAR(10)

10

YES

BACK_NO

TINYINT

1

YES

NATION

VARCHAR(20)

20

YES

BIRTH_DATE

DATE

3

YES

SOLAR

CHAR(1)

1

YES

HEIGHT

SMALLINT

2

YES

WEIGHT

SMALLINT

2

YES

13 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค. MODIFY COLUMN

ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ์นผ๋Ÿผ์— ๋Œ€ํ•ด์„œ ALTER TABLE ๋ช…๋ น์„ ์ด์šฉํ•ด ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๋””ํดํŠธ(DEFAULT) ๊ฐ’, NOT NULL ์ œ์•ฝ์กฐ๊ฑด์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

[Oracle]

ALTER TABLE ํ…Œ์ด๋ธ”๋ช…MODIFY (
   ์นผ๋Ÿผ๋ช…1 ๋ฐ์ดํ„ฐ์œ ํ˜•[DEFAULT ์‹] [NOT NULL]
 , ์นผ๋Ÿผ๋ช…2 ๋ฐ์ดํ„ฐ์œ ํ˜•โ€ฆ
);

[SQL Server]

ALTER TABLE ํ…Œ์ด๋ธ”๋ช…ALTER (
   ์นผ๋Ÿผ๋ช…1 ๋ฐ์ดํ„ฐ์œ ํ˜•[DEFAULT ์‹][NOT NULL]
 , ์นผ๋Ÿผ๋ช…2 ๋ฐ์ดํ„ฐ์œ ํ˜•โ€ฆ
);

์นผ๋Ÿผ์„ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ด์„œ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค.

  • ํ•ด๋‹น ์นผ๋Ÿผ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆด ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ์ค„์ด์ง€๋Š” ๋ชปํ•œ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ›ผ์†๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  • ํ•ด๋‹น ์นผ๋Ÿผ์ด NULL ๊ฐ’๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ”์— ์•„๋ฌด ํ–‰๋„ ์—†์œผ๋ฉด ์นผ๋Ÿผ์˜ ํญ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

  • ํ•ด๋‹น ์นผ๋Ÿผ์ด NULL ๊ฐ’๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ•ด๋‹น ์นผ๋Ÿผ์˜ DEFAULT ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ๋ณ€๊ฒฝ ์ž‘์—… ์ดํ›„ ๋ฐœ์ƒํ•˜๋Š” ํ–‰ ์‚ฝ์ž…์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋œ๋‹ค.

  • ํ•ด๋‹น ์นผ๋Ÿผ์— NULL ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ์—๋งŒ NOT NULL ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

[์˜ˆ์ œ] TEAM ํ…Œ์ด๋ธ”์˜ ORIG_YYYY ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ CHAR(4)โ†’VARCHAR2(8)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , ํ–ฅํ›„ ์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ DEFAULT ๊ฐ’์œผ๋กœ '20020129'์„ ์ ์šฉํ•˜๊ณ , ๋ชจ๋“  ํ–‰์˜ ORIG_YYYY ์นผ๋Ÿผ์— NULL์ด ์—†์œผ๋ฏ€๋กœ ์ œ์•ฝ์กฐ๊ฑด์„ NULL โ†’ NOT NULL๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE TEAM_TEMP
 MODIFY ( ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL ); 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

ALTER TABLE TEAM_TEMP
 ALTER COLUMN ORIG_YYYY VARCAHR(8) NOT NULL; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

ALTER TABLE TEAM_TEMP
 ADD CONSTRAINT DF_ORIG_YYYY DEFAULT '20020129' FOR ORIG_YYYY; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ์—์„œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESC TEAM_TEMP; 
์นผ๋Ÿผ
NULL ๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ ์œ ํ˜•

TEAM_ID

NOT NULL

CHAR(3)

REGION_NAME

NOT NULL

VARCHAR2(4)

TEAM_NAME

NOT NULL

VARCHAR2(40)

E_TEAM_NAME

VARCHAR2(50)

ORIG_YYYY

NOT NULL

VARCHAR2(8)

โ˜œ๊ธฐ๋ณธ๊ฐ’'20020129'

STADIUM_ID

NOT NULL

CHAR(3)

ZIP_CODE1

CHAR(3)

ZIP_CODE2

CHAR(3)

ADDRESS

VARCHAR2(80)

DDD

VARCHAR2(3)

TEL

VARCHAR2(10)

FAX

VARCHAR2(10)

HOMEPAGE

VARCHAR2(50)

OWNER

VARCHAR2(10)

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec SP_HELP 'dbo.TEAM_TEMP' GO 
์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธธ์ด
NULL ๊ฐ€๋Šฅ

TEAM_ID

CHAR(3)

3

NO

REGION_NAME

VARCHAR(8)

8

NO

TEAM_NAME

VARCHAR(40)

40

NO

E_TEAM_NAME

VARCHAR(50)

50

YES

ORIG_YYYY

CHAR(4)

4

YES

STADIUM_ID

CHAR(3)

3

NO

ZIP_CODE1

CHAR(3)

3

YES

ZIP_CODE2

CHAR(3)

3

YES

ADDRESS

VARCHAR(80)

80

YES

DDD

VARCHAR(3)

3

YES

TEL

VARCHAR(10)

10

YES

FAX

VARCHAR(10)

10

YES

HOMEPAGE

VARCHAR(50)

50

YES

OWNER

VARCHAR(10)

10

YES

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

constraint_type constraint_name constraint_keys

DEFAULT on column ORIG_YYYY DF_ORIG_YYYY ('20020129')

1 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • RENAME COLUMN

์•„๋ž˜๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋ฉด์„œ ๋งŒ๋“ค์–ด์กŒ๋˜ ์นผ๋Ÿผ๋ช…์„ ์–ด๋–ค ์ด์œ ๋กœ ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ๋Š” RENAME COLUMN ๋ฌธ๊ตฌ์ด๋‹ค.

[Oracle]

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… RENAME COLUMN ๊ธฐ์กด ์นผ๋Ÿผ๋ช… TO ์ƒˆ๋กœ์šด ์นผ๋Ÿผ๋ช…;

RENAME COLUMN์œผ๋กœ ์นผ๋Ÿผ๋ช…์ด ๋ณ€๊ฒฝ๋˜๋ฉด, ํ•ด๋‹น ์นผ๋Ÿผ๊ณผ ๊ด€๊ณ„๋œ ์ œ์•ฝ์กฐ๊ฑด์— ๋Œ€ํ•ด์„œ๋„ ์ž๋™์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ADD/DROP COLUMN ๊ธฐ๋Šฅ์ฒ˜๋Ÿผ ANSI/ISO์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๊ณ  Oracle ๋“ฑ ์ผ๋ถ€ DBMS์—์„œ๋งŒ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER
 RENAME COLUMN PLAYER_ID TO TEMP_ID; 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER
 RENAME COLUMN TEMP_ID TO PLAYER_ID; 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

SQL Server์—์„œ๋Š” sp_rename ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์ด์šฉํ•˜์—ฌ ์นผ๋Ÿผ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

SQL Server

sp_rename ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์นผ๋Ÿผ๋ช…, ์ƒˆ๋กœ์šด ์นผ๋Ÿผ๋ช…, 'COLUMN';

[์˜ˆ์ œ] SQL Server

sp_rename 'dbo.TEAM_TEMP.TEAM_ID', 'TEAM_TEMP_ID', 'COLUMN';

์ฃผ์˜: ์—”ํ„ฐํ‹ฐ ์ด๋ฆ„ ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

๋ผ. DROP CONSTRAINT

ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ ๋ถ€์—ฌํ–ˆ๋˜ ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…; 

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ญ์ œํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER DROP CONSTRAINTPLAYER_FK; 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

ALTER TABLE PLAYER DROP CONSTRAINTPLAYER_FK; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

๋งˆ. ADD CONSTRAINT

ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ ์ œ์•ฝ์กฐ๊ฑด์„ ์ ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ์ƒ์„ฑ ์ดํ›„์— ํ•„์š”์— ์˜ํ•ด์„œ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ ํŠน์ • ์นผ๋Ÿผ์— ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ช…๋ น์–ด ํ˜•ํƒœ์ด๋‹ค.

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ์ œ์•ฝ์กฐ๊ฑด(์นผ๋Ÿผ๋ช…);

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์— TEAM ํ…Œ์ด๋ธ”๊ณผ์˜ ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ œ์•ฝ์กฐ๊ฑด๋ช…์€ PLAYER_FK๋กœ ํ•˜๊ณ , PLAYER ํ…Œ์ด๋ธ”์˜ TEAM_ID ์นผ๋Ÿผ์ด TEAM ํ…Œ์ด๋ธ”์˜ TEAM_ID๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์กฐ๊ฑด์ด๋‹ค.

[์˜ˆ์ œ] Oracle

ALTER TABLE PLAYER
 ADD CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID); 

ํ…Œ์ด๋ธ”์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

ALTER TABLE PLAYER
 ADD CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID); 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์ด ์ฐธ์กฐํ•˜๋Š” TEAM ํ…Œ์ด๋ธ”์„ ์ œ๊ฑฐํ•ด๋ณธ๋‹ค.

[์˜ˆ์ œ] Oracle

DROP TABLE TEAM; 

ERROR: ์™ธ๋ž˜ ํ‚ค์— ์˜ํ•ด ์ฐธ์กฐ๋˜๋Š” ๊ณ ์œ /๊ธฐ๋ณธ ํ‚ค๊ฐ€ ํ…Œ์ด๋ธ”์— ์žˆ๋‹ค. โ€ป ํ…Œ์ด๋ธ”์€ ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

[์˜ˆ์ œ] SQL Server

DROP TABLE TEAM; 

ERROR: ์—”ํ„ฐํ‹ฐ 'TEAM'์€ FOREIGN KEY ์ œ์•ฝ ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜๋ฏ€๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค. โ€ป ํ…Œ์ด๋ธ”์€ ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์ด ์ฐธ์กฐํ•˜๋Š” TEAM ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด๋ณธ๋‹ค.

[์˜ˆ์ œ] Oracle

DELETE TEAM WHERE TEAM_ID = 'K10'; 

ERROR: ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(SCOTT.PLAYER_FK)์ด ์œ„๋ฐฐ๋˜์—ˆ๋‹ค. ์ž์‹ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค. โ€ป ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

[์˜ˆ์ œ] SQL Server

DELETE TEAM
WHERE TEAM_ID = 'K10'; 

ERROR: FOREIGN KEY ์ œ์•ฝ ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜๋ฏ€๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค. โ€ป ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

์œ„์™€ ๊ฐ™์ด ์ฐธ์กฐ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋ฉด PLAYER ํ…Œ์ด๋ธ”์˜ TEAM_ID ์นผ๋Ÿผ์ด TEAM ํ…Œ์ด๋ธ”์˜ TEAM_ID ์นผ๋Ÿผ์„ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์˜ต์…˜์— ๋”ฐ๋ผ์„œ ๋งŒ์•ฝ TEAM ํ…Œ์ด๋ธ”์ด๋‚˜ TEAM ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค ํ•  ๊ฒฝ์šฐ ์™ธ๋ถ€(PLAYER ํ…Œ์ด๋ธ”)์—์„œ ์ฐธ์กฐ๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ œ์•ฝ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์™ธ๋ถ€ํ‚ค(FK)๋ฅผ ์„ค์ •ํ•จ์œผ๋กœ์จ ์‹ค์ˆ˜์— ์˜ํ•œ ํ…Œ์ด๋ธ” ์‚ญ์ œ๋‚˜ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ์˜๋„ํ•˜์ง€ ์•Š์€ ์‚ญ์ œ์™€ ๊ฐ™์€ ๋ถˆ์ƒ์‚ฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

3. RENAME TABLE

RENAME ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

RENAME ๋ณ€๊ฒฝ์ „ ํ…Œ์ด๋ธ”๋ช… TO ๋ณ€๊ฒฝํ›„ ํ…Œ์ด๋ธ”๋ช…;

SQL Server์—์„œ๋Š” sp_rename์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

sp_rename ๋ณ€๊ฒฝ์ „ ํ…Œ์ด๋ธ”๋ช…, ๋ณ€๊ฒฝํ›„ ํ…Œ์ด๋ธ”๋ช…;

[์˜ˆ์ œ] RENAME ๋ฌธ์žฅ์„ ์ด์šฉํ•˜์—ฌ TEAM ํ…Œ์ด๋ธ”๋ช…์„ ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , ๋‹ค์‹œ TEAM ํ…Œ์ด๋ธ”๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

RENAME TEAM TO TEAM_BACKUP;

ํ…Œ์ด๋ธ”์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

RENAME TEAM_BACKUP TO TEAM;

ํ…Œ์ด๋ธ”์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

sp_rename 'dbo.TEAM','TEAM_BACKUP';

์ฃผ์˜: ์—”ํ„ฐํ‹ฐ์ด๋ฆ„ ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ ๋ฐ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์†์ƒ์‹œํ‚ฌ ์ˆ˜์žˆ๋‹ค.

sp_rename 'dbo.TEAM_BACKUP','TEAM';

์ฃผ์˜: ์—”ํ„ฐํ‹ฐ์ด๋ฆ„ ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ ๋ฐ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ฅผ ์†์ƒ์‹œํ‚ฌ ์ˆ˜์žˆ๋‹ค.

4. DROP TABLE

ํ…Œ์ด๋ธ”์„ ์ž˜๋ชป ๋งŒ๋“ค์—ˆ๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ”์ด ๋” ์ด์ƒ ํ•„์š” ์—†์„ ๊ฒฝ์šฐ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค์Œ์€ ๋ถˆํ•„์š”ํ•œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

DROP TABLE ํ…Œ์ด๋ธ”๋ช…[CASCADE CONSTRAINT];

DROP ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ฐ ๊ตฌ์กฐ๋ฅผ ์‚ญ์ œํ•œ๋‹ค. CASCADE CONSTRAINT ์˜ต์…˜์€ ํ•ด๋‹น ํ…Œ์ด๋ธ”๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ์—ˆ๋˜ ์ฐธ์กฐ๋˜๋Š” ์ œ์•ฝ์กฐ๊ฑด์— ๋Œ€ํ•ด์„œ๋„ ์‚ญ์ œํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. SQL Server์—์„œ๋Š” CASCADE ์˜ต์…˜์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ์ฐธ์กฐํ•˜๋Š” FOREIGN KEY ์ œ์•ฝ ์กฐ๊ฑด ๋˜๋Š” ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ๋จผ์ € ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ] PLAYER ํ…Œ์ด๋ธ”์„ ์ œ๊ฑฐํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

DROP TABLE PLAYER; 

ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค.

DESC PLAYER; 

ERROR: ์„ค๋ช…ํ•  ๊ฐ์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.

[์˜ˆ์ œ] SQL Server

DROP TABLE PLAYER; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

exec SP_HELP 'dbo.PLAYER'; 

๋ฉ”์‹œ์ง€ 15009, ์ˆ˜์ค€ 16, ์ƒํƒœ 1, ํ”„๋กœ์‹œ์ € sp_help, ์ค„ 66 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 'northwind'์— ์—”ํ„ฐํ‹ฐ 'dbo.player'์ด(๊ฐ€) ์—†๊ฑฐ๋‚˜ ์ด ์ž‘์—…์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

5. TRUNCATE TABLE

TRUNCATE TABLE์€ ํ…Œ์ด๋ธ” ์ž์ฒด๊ฐ€ ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ๋“ค์–ด์žˆ๋˜ ๋ชจ๋“  ํ–‰๋“ค์ด ์ œ๊ฑฐ๋˜๊ณ  ์ €์žฅ ๊ณต๊ฐ„์„ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์ œํ•œ๋‹ค. ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” DROP TABLE์„ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

TRUNCATE TABLE PLAYER;

[์˜ˆ์ œ] TRUNCATE TABLE์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ ์‚ญ์ œํ•˜๊ณ  ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

TRUNCATE TABLE TEAM; 

ํ…Œ์ด๋ธ”์ด ํŠธ๋ ์ผ€์ดํŠธ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] SQL Server

TRUNCATE TABLE TEAM; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] Oracle

DESC TEAM; 
์นผ๋Ÿผ
NULL ๊ฐ€๋Šฅ
๋ฐ์ดํ„ฐ ์œ ํ˜•

TEAM_ID

NOT NULL

CHAR(3)

REGION_NAME

NOT NULL

VARCHAR2(4)

TEAM_NAME

NOT NULL

VARCHAR2(40)

E_TEAM_NAME

VARCHAR2(50)

ORIG_YYYY

CHAR(4)

STADIUM_ID

NOT NULL

CHAR(3)

ZIP_CODE1

CHAR(3)

ZIP_CODE2

CHAR(3)

ADDRESS

VARCHAR2(80)

DDD

VARCHAR2(3)

TEL

VARCHAR2(10)

FAX

VARCHAR2(10)

HOMEPAGE

VARCHAR2(50)

OWNER

VARCHAR2(10)

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์‹คํ–‰ ๊ฒฐ๊ณผ] SQL Server

exec sp_help 'dbo.TEAM' go

์นผ๋Ÿผ์ด๋ฆ„
๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธธ์ด
NULL ๊ฐ€๋Šฅ

TEAM_ID

CHAR(3)

3

NO

REGION_NAME

VARCHAR(8)

8

NO

TEAM_NAME

VARCHAR(40)

40

NO

E_TEAM_NAME

VARCHAR(50)

50

YES

ORIG_YYYY

CHAR(4)

4

YES

STADIUM_ID

CHAR(3)

3

NO

ZIP_CODE1

CHAR(3)

3

YES

ZIP_CODE2

CHAR(3)

3

YES

ADDRESS

VARCHAR(80)

80

YES

DDD

VARCHAR(3)

3

YES

TEL

VARCHAR(10)

10

YES

FAX

VARCHAR(10)

10

YES

HOMEPAGE

VARCHAR(50)

50

YES

OWNER

VARCHAR(10)

10

YES

14 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[์˜ˆ์ œ] DROP TABLE์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ ์ œ๊ฑฐํ•˜๊ณ  ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

DROP TABLE TEAM; 

ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค.

DESC TEAM; 

ERROR: ์„ค๋ช…ํ•  ๊ฐ์ฒด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.

[์˜ˆ์ œ] SQL Server

DROP TABLE TEAM; 

๋ช…๋ น์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

exec SP_HELP 'dbo.TEAM'; 

๋ฉ”์‹œ์ง€ 15009, ์ˆ˜์ค€ 16, ์ƒํƒœ 1, ํ”„๋กœ์‹œ์ € sp_help, ์ค„ 66 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 'northwind'์— ์—”ํ„ฐํ‹ฐ 'dbo.TEAM'์ด(๊ฐ€) ์—†๊ฑฐ๋‚˜ ์ด ์ž‘์—…์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

DROP TABLE์˜ ๊ฒฝ์šฐ๋Š” ํ…Œ์ด๋ธ” ์ž์ฒด๊ฐ€ ์—†์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค. ๋ฐ˜๋ฉด TRUNCATE TABLE์˜ ๊ฒฝ์šฐ๋Š” ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฒด ๋ฐ์ดํ„ฐ๋งŒ ์ „๋ถ€ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. TRUNCATE๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ ์—†์ด ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๊ด„ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด๋กœ DML๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‚ด๋ถ€ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด๋‚˜ Auto Commit ํŠน์„ฑ ๋“ฑ์œผ๋กœ ์ธํ•ด DDL๋กœ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค. ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด๋Š” TRUNCATE TABLE ๋ช…๋ น์–ด ์ด์™ธ์—๋„ ๋‹ค์Œ DML ์ ˆ์—์„œ ์‚ดํŽด๋ณผ DELETE ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ DELETE์™€ TRUNCATE๋Š” ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ์ž์ฒด๊ฐ€ ๋‹ค๋ฅด๋‹ค. ํ…Œ์ด๋ธ”์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ, ์‹œ์Šคํ…œ ํ™œ์šฉ ์ธก๋ฉด์—์„œ๋Š” DELETE TABLE ๋ณด๋‹ค๋Š” ์‹œ์Šคํ…œ ๋ถ€ํ•˜๊ฐ€ ์ ์€ TRUNCATE TABLE์„ ๊ถŒ๊ณ ํ•œ๋‹ค. ๋‹จ, TRUNCATE TABLE์˜ ๊ฒฝ์šฐ ์ •์ƒ์ ์ธ ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

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

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