SQL Tuple CRUD

[Database] SQL์˜ SQL์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œํ•˜๊ธฐ

๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ (insert)

๋ฌธ๋ฒ•

  • ํ…Œ์ด๋ธ”์ด ์–ด๋–ค attribute๋“ค๋กœ ์–ด๋–ค constraint๊ฐ€ ์„ค์ •๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๊ทธ์— ๋งž์ถฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ์Œ

  • value๋ฅผ ๋„ฃ์„ ๋•, table์„ ๋งŒ๋“ค ๋•Œ attribute๋ฅผ ์ •์˜ํ–ˆ๋˜ ์ˆœ์„œ๋Œ€๋กœ ๋„ฃ์–ด์•ผ ํ•จ

  • ๋ชจ๋“  attribute์— ๋Œ€์‘ํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ค˜์•ผ ํ•จ

  • constraint์— ๋งž์ง€ ์•Š๊ฑฐ๋‚˜, value๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•จ (์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ๋‹ค์‹œ ์ฒ˜๋ฆฌํ•ด์ฃผ๋ฉด ๋จ)

  • INSERT INTO <ํ…Œ์ด๋ธ”๋ช…> VALUES (attribute ๋ชฉ๋ก์— ๋Œ€์‘๋˜๋Š” ๊ฐ’๋“ค);

    INSERT INTO employee
    VALUES (1, 'MESSI', '1987-02-01', 'M', 'DEV_BACK', 1000000000, null);

attribute๋ฅผ ์ง€์ •ํ•œ insert

  • ์›ํ•˜๋Š” attribute์— ๋Œ€ํ•ด์„œ๋งŒ, ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ์Œ

  • INSERT INTO <ํ…Œ์ด๋ธ”๋ช…> (attribute ๋ชฉ๋ก) VALUES (attribute ๋ชฉ๋ก์— ๋Œ€์‘๋˜๋Š” ๊ฐ’๋“ค);

    INSERT INTO employee (name, birth_date, sex, position, id)
    VALUES ('JENNY', '2000-10-12', 'F', 'DEV_BACK', 3);
  • attribute๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด attribute๋ฅผ table ์ƒ์„ฑ ๋•Œ ์ง€์ •ํ•œ ์ˆœ์„œ๋Œ€๋กœ ๋„ฃ์–ด์•ผ ํ•จ

์—ฌ๋Ÿฌ๊ฐœ์˜ ํŠœํ”Œ(row)์„ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œ

  • VALUES ๋’ค์˜ ๊ด„ํ˜ธ()๋ฅผ ์ฝค๋งˆ, ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์—ฌ๋Ÿฌ๊ฐœ ์„ค์ •ํ•จ. ๋งˆ์ง€๋ง‰ () ๋’ค์—” ์ฝค๋งˆ๊ฐ€ ์•„๋‹ˆ๋ผ ; ๋กœ ๋งˆ์นจ

  • INSERT INTO <ํ…Œ์ด๋ธ”๋ช…> (attribute ๋ชฉ๋ก) VALUES (๊ฐ’๋“ค1),(๊ฐ’๋“ค2),..., (๊ฐ’๋“คn);

ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ์กฐํšŒํ•˜๊ธฐ (select)

๋ฌธ๋ฒ•

  • SELECT <์กฐํšŒํ•  attribute> FROM <ํ…Œ์ด๋ธ” ๋ช…>

  • ์กฐํšŒํ•  attribute

    • *์„ ์“ฐ๋ฉด ํ•˜๋ฉด ์ „์ฒด๊ฐ€ ์ง€์ •๋จ

    • attribute1, attribute2, attribute3, ... ์ด๋Ÿฐ์‹์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐœ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Œ

    • ์ˆœ์„œ ์ƒ๊ด€ ์—†์Œ

๋ฐ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ (update)

๋ฌธ๋ฒ•

  • UPDATE <ํ…Œ์ด๋ธ”๋ช…> SET <์ˆ˜์ •ํ•  attribute> = <์ƒˆ๋กœ์šด ๊ฐ’> [WHERE <๋ฐ”๊ฟ€ ๋Œ€์ƒ์ด ๋˜๋Š” row์˜ ์กฐ๊ฑด>]

  • UPDATE table_name(s) SET attribute = value [, attribute = value, ...] [WHERE condition(s)];

  • WHERE๊ฐ€ ์—†๋‹ค๋ฉด ํ…Œ์ด๋ธ”์˜ ์ „์ฒด row๋ฅผ ๋Œ€์ƒ์œผ๋กœ updateํ•จ

    -> id๊ฐ€ 1์ธ row์˜ dept_id๋ฅผ 1003์œผ๋กœ ๋ฐ”๊พผ๋‹ค.

์ƒˆ๋กœ์šด ๊ฐ’์— ๋Œ€ํ•ด ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

  • ์˜ˆ) ํŠน์ • ์กฐ๊ฑด์˜ ์‚ฌ๋žŒ๋“ค์˜ ์—ฐ๋ด‰์„ 2๋ฐฐ ์ธ์ƒ

๋‘๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•œ ์กฐ๊ฑด์ ˆ

  • 2003๋ฒˆ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌ์ค‘์ธ ์ง์›๋“ค์˜ ์—ฐ๋ด‰์„ 2๋ฐฐ ์ธ์ƒ

    • employee.id ์—์„œ .๊ณผ ๊ทธ ์•ž์˜ ํ…Œ์ด๋ธ”์„ ์ง€์›Œ์ค˜๋„ ๋จ. ๋‹จ, attribute ์ด๋ฆ„์ด ๊ฒน์น˜๋ฉด ์•ˆ๋จ

    • ํ…Œ์ด๋ธ” ์ด๋ฆ„ ์จ์ฃผ๋Š”๊ฒŒ ๋” ์ง๊ด€์ ์ด๋‹ˆ ์จ์ฃผ๋Š”๊ฒŒ ์ข‹์„๋“ฏ

๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ (delete)

๋ฌธ๋ฒ•

  • DELETE FROM table_name WHERE condition(s)

  • ์˜ˆ

    • John์ด ํ‡ด์‚ฌํ•ด์„œ ํ…Œ์ด๋ธ” ๋‚ด์šฉ์„ ์‚ญ์ œํ•ด์•ผ ํ•จ

    • John์˜ employee ID๋Š” 8์ด๊ณ , project 2001์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์Œ

    • project table์€ FK์— ๋Œ€ํ•ด delete๋  ๋•Œ CASCADE๋กœ ์„ค์ •๋ผ์žˆ์–ด์„œ, John์ด ํ•ด๋‹น๋œ row๋Š” ๋‹ค ์‚ญ์ œ๋จ

WHERE ์ ˆ์ด ์—†๋‹ค๋ฉด

  • ๋ชจ๋“  ํŠœํ”Œ(row)์ด ๋‹ค ์‚ญ์ œ๋จ

  • ํ…Œ์ด๋ธ”์€ ๋‚จ์•„ ์žˆ์Œ

์กฐ๊ฑด์ ˆ WHERE

๋ฌธ๋ฒ•

  • ๋“ฑํ˜ธ, ๋ถ€๋“ฑํ˜ธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

  • and์™€ or๋Š” ์กฐ๊ฑด ์‚ฌ์ด์— and, or ๋กœ ์จ์คŒ

  • != ๋ž‘ <> ๋Š” ๋™์ผํ•œ ์˜๋ฏธ

  • ์˜ˆ) DELETE FROME works_on WHERE impl_id = 5 and proj_id = 2002;

์ฐธ๊ณ 

Last updated