์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

๋‚ด DB์—์„œ SQL๋ช…๋ น์–ด๋กœ ํŠน์ • ๋‹จ์–ด๋ฅผ ์ฐพ์•„์„œ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•

A1A2 2025. 2. 1. 09:00
๋ฐ˜์‘ํ˜•

๐Ÿ’ก SQL์—์„œ ํŠน์ • ๋‹จ์–ด๋ฅผ ์ฐพ์•„์„œ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ• (UPDATE + REPLACE ์‚ฌ์šฉ)

โœ… ์‚ฌ์šฉํ•˜๋Š” SQL ๋ช…๋ น์–ด:

  • UPDATE → ํŠน์ • ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝ
  • SET → ๋ณ€๊ฒฝํ•  ์ปฌ๋Ÿผ ์ง€์ •
  • REPLACE() → ํŠน์ • ๋‹จ์–ด๋ฅผ ์ฐพ์•„์„œ ๋ณ€๊ฒฝ

๐Ÿ“Œ ๊ธฐ๋ณธ์ ์ธ SQL UPDATE + REPLACE ๋ฌธ๋ฒ•

 
UPDATE ํ…Œ์ด๋ธ”๋ช…
SET ์ปฌ๋Ÿผ๋ช… = REPLACE(์ปฌ๋Ÿผ๋ช…, '์ฐพ์„ ๋‹จ์–ด', '๋ฐ”๊ฟ€ ๋‹จ์–ด')
WHERE ์ปฌ๋Ÿผ๋ช… LIKE '%์ฐพ์„ ๋‹จ์–ด%';
 

โœ” REPLACE ํ•จ์ˆ˜๋Š” ํŠน์ • ํ…์ŠคํŠธ๋ฅผ ์ฐพ์•„ ๋ณ€๊ฒฝํ•ด ์ค๋‹ˆ๋‹ค.
โœ” WHERE ์ ˆ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 1: ์ œํ’ˆ ์„ค๋ช…์—์„œ ํŠน์ • ๋‹จ์–ด ๋ณ€๊ฒฝ

๐Ÿ“ ์˜ˆ์ œ: product_description ์ปฌ๋Ÿผ์—์„œ "๊ตฌํ˜• ๋ชจ๋ธ" → "์‹ ํ˜• ๋ชจ๋ธ"๋กœ ๋ณ€๊ฒฝ

 
UPDATE products
SET product_description = REPLACE(product_description, '๊ตฌํ˜• ๋ชจ๋ธ', '์‹ ํ˜• ๋ชจ๋ธ')
WHERE product_description LIKE '%๊ตฌํ˜• ๋ชจ๋ธ%';
 

๐Ÿšจ ์ฃผ์˜: WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ํ–‰์—์„œ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ, ํŠน์ • ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 2: ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ณ€๊ฒฝ

๐Ÿ“ ์˜ˆ์ œ: users ํ…Œ์ด๋ธ”์—์„œ "๊น€์ฒ ์ˆ˜"๋ฅผ "๊น€๋ฏผ์ˆ˜"๋กœ ๋ณ€๊ฒฝ

 
UPDATE users
SET name = REPLACE(name, '๊น€์ฒ ์ˆ˜', '๊น€๋ฏผ์ˆ˜')
WHERE name = '๊น€์ฒ ์ˆ˜';
 

๐Ÿšจ WHERE name = '๊น€์ฒ ์ˆ˜' ์กฐ๊ฑด์„ ์ฃผ๋ฉด ์ •ํ™•ํ•œ ์ผ์น˜ ํ•ญ๋ชฉ๋งŒ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 3: ์ด๋ฉ”์ผ ์ฃผ์†Œ ๋ณ€๊ฒฝ

๐Ÿ“ ์˜ˆ์ œ: email ์ปฌ๋Ÿผ์—์„œ "@oldmail.com" → "@newmail.com"์œผ๋กœ ๋ณ€๊ฒฝ

 
UPDATE users
SET email = REPLACE(email, '@oldmail.com', '@newmail.com')
WHERE email LIKE '%@oldmail.com';
 

๐Ÿšจ ํŠน์ • ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ผ๊ด„ ๋ณ€๊ฒฝํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 4: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹จ์–ด ๋™์‹œ์— ๋ณ€๊ฒฝํ•˜๊ธฐ

๐Ÿ“ ์˜ˆ์ œ: "์„œ์šธ" → "SEOUL", "๋ถ€์‚ฐ" → "BUSAN"์œผ๋กœ ๋ณ€๊ฒฝ

 
UPDATE locations
SET city = REPLACE(REPLACE(city, '์„œ์šธ', 'SEOUL'), '๋ถ€์‚ฐ', 'BUSAN')
WHERE city IN ('์„œ์šธ', '๋ถ€์‚ฐ');
 

โœ” REPLACE()๋ฅผ ์ค‘์ฒฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ํ•œ ๋ฒˆ์— ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 5: ํŠน์ • ํŒจํ„ด์„ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๊ธฐ

๐Ÿ“ ์˜ˆ์ œ: ํŠน์ • ์ œํ’ˆ ์ฝ”๋“œ("ABC-")๊ฐ€ ํฌํ•จ๋œ ์ œํ’ˆ ์„ค๋ช…์—์„œ ๋‹จ์–ด ๋ณ€๊ฒฝ

 
UPDATE products
SET product_description = REPLACE(product_description, '์˜ค๋ž˜๋œ ์ œํ’ˆ', '์ตœ์‹  ์ œํ’ˆ')
WHERE product_code LIKE 'ABC-%';
 

โœ” LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ํŒจํ„ด์„ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 6: ํŠน์ • ์ปฌ๋Ÿผ์—์„œ NULL ๊ฐ’ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ณ€๊ฒฝํ•˜๊ธฐ

๐Ÿ“ NULL ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ REPLACE ์‚ฌ์šฉ ์‹œ ์—๋Ÿฌ ๋ฐฉ์ง€ ๋ฐฉ๋ฒ•

 
UPDATE articles
SET content = REPLACE(IFNULL(content, ''), '์˜คํƒ€์ˆ˜์ •', '์ •ํ™•ํ•œ ๋ฌธ๊ตฌ')
WHERE content LIKE '%์˜คํƒ€์ˆ˜์ •%';
 

๐Ÿšจ IFNULL(content, '')๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด NULL ๊ฐ’์„ ๋นˆ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•˜์—ฌ, REPLACE ์‹คํ–‰ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ˆ์ œ 7: ํŠน์ • ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐ (๋นˆ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝ)

๐Ÿ“ ์˜ˆ์ œ: "์‚ญ์ œํ•  ๋ฌธ๊ตฌ"๋ฅผ ์•„์˜ˆ ์‚ญ์ œํ•˜๊ธฐ (๋นˆ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒด)

 
UPDATE blog_posts
SET content = REPLACE(content, '์‚ญ์ œํ•  ๋ฌธ๊ตฌ', '')
WHERE content LIKE '%์‚ญ์ œํ•  ๋ฌธ๊ตฌ%';
 

โœ” ํŠน์ • ๋‹จ์–ด๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๋นˆ ๋ฌธ์ž์—ด('')๋กœ ๋Œ€์ฒดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


๐Ÿš€ ์š”์•ฝ (ํ•ต์‹ฌ SQL ํŒจํ„ด)

๋ชฉ์ SQL ๋ช…๋ น์–ด
ํŠน์ • ๋‹จ์–ด ๋ณ€๊ฒฝ REPLACE(์ปฌ๋Ÿผ๋ช…, '์ฐพ์„ ๋‹จ์–ด', '๋ฐ”๊ฟ€ ๋‹จ์–ด')
ํŠน์ • ํŒจํ„ด์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ WHERE ์ปฌ๋Ÿผ๋ช… LIKE '%๋‹จ์–ด%'
์ด๋ฉ”์ผ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ REPLACE(email, '@old.com', '@new.com')
์—ฌ๋Ÿฌ ๋‹จ์–ด ๋™์‹œ์— ๋ณ€๊ฒฝ REPLACE(REPLACE(์ปฌ๋Ÿผ๋ช…, 'A', 'B'), 'C', 'D')
ํŠน์ • ํŒจํ„ด์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ ๋ณ€๊ฒฝ WHERE ์ปฌ๋Ÿผ๋ช… LIKE 'ABC-%'
NULL ๊ฐ’ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ณ€๊ฒฝ REPLACE(IFNULL(์ปฌ๋Ÿผ๋ช…, ''), 'A', 'B')
ํŠน์ • ๋ฌธ์ž์—ด ์ œ๊ฑฐ REPLACE(์ปฌ๋Ÿผ๋ช…, '์‚ญ์ œํ•  ๋‹จ์–ด', '')

โœ… ์ฃผ์˜ํ•  ์ :

  • WHERE ์ ˆ์„ ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•˜์„ธ์š”.
  • REPLACE()๋Š” ๋ถ€๋ถ„ ๋ณ€๊ฒฝ๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด SET ์ปฌ๋Ÿผ๋ช… = '์ƒˆ๋กœ์šด ๊ฐ’'์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€๊ฒฝ ์ „์— ๋ฐฑ์—…์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ถ”๊ฐ€ ์งˆ๋ฌธ์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ฌผ์–ด๋ณด์„ธ์š”! ๐Ÿ˜Š

 
 
 
 
๋ฐ˜์‘ํ˜•