header-img
Info :
๋ฐ€๋„
denseยน
์žฅ๋ž˜ํฌ๋ง : ๋‹จ์œ„ ๋ถ€ํ”ผ ๋‹น ์งˆ๋Ÿ‰์ด ๋ณด๋‹ค ๋นฝ๋นฝํ•œ ์‚ฌ๋žŒ ๋˜๊ธฐ

 

 

 

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ ํ…Œ์ด๋ธ” ๊ด€๋ จ ํ‚ค์›Œ๋“œ

์˜๋ฏธ ์ฟผ๋ฆฌ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ CREATE DATABASE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];
๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒํ•˜๊ธฐ SHOW DATABASES;
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ ์„ ์–ธํ•˜๊ธฐ USE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];
ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ CREATE TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] (
[์ปฌ๋Ÿผ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…],
[์ปฌ๋Ÿผ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…], ...
);
ํ…Œ์ด๋ธ” ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„]
RENAME [์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ” ์ด๋ฆ„]
์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ถ”๊ฐ€ํ•˜๊ธฐ ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„]
ADD COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…];
๊ธฐ์กด ์ปฌ๋Ÿผ ํƒ€์ž… ๋ณ€๊ฒฝํ•˜๊ธฐ ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„]
MODIFY COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„] [์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํƒ€์ž…];
๊ธฐ์กด ์ปฌ๋Ÿผ ์ด๋ฆ„๊ณผ ํƒ€์ž… ๋ณ€๊ฒฝํ•˜๊ธฐ ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] CHANGE COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„]
[์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ด๋ฆ„] [์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํƒ€์ž…];
์ปฌ๋Ÿผ ์ง€์šฐ๊ธฐ ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] DROP COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„];
ํ…Œ์ด๋ธ” ๊ฐ’๋งŒ ์ง€์šฐ๊ธฐ TRUNCATE TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„];
๋ฐ์ดํ„ฐ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฝ์ž…ํ•˜๊ธฐ INSERT INTO [ํ…Œ์ด๋ธ” ์ด๋ฆ„] (
[์ปฌ๋Ÿผ1 ์ด๋ฆ„], [์ปฌ๋Ÿผ2 ์ด๋ฆ„], [์ปฌ๋Ÿผ3 ์ด๋ฆ„])
VALUES ([์ปฌ๋Ÿผ1 ๊ฐ’], [์ปฌ๋Ÿผ2 ๊ฐ’] [์ปฌ๋Ÿผ3 ๊ฐ’]),
([์ปฌ๋Ÿผ1 ๊ฐ’], [์ปฌ๋Ÿผ2 ๊ฐ’] [์ปฌ๋Ÿผ3 ๊ฐ’]),
([์ปฌ๋Ÿผ1 ๊ฐ’], [์ปฌ๋Ÿผ2 ๊ฐ’] [์ปฌ๋Ÿผ3 ๊ฐ’]);
๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ DELETE FROM [ํ…Œ์ด๋ธ” ์ด๋ฆ„] WHERE ์กฐ๊ฑด์‹;
๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ UPDATE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] SET [์ปฌ๋Ÿผ ์ด๋ฆ„] = [์ƒˆ ๊ฐ’] WHERE ์กฐ๊ฑด์‹;

 

 

 

 

๋ฐ์ดํ„ฐ ํƒ€์ž…

๋ฐ์ดํ„ฐํ˜• ํ‘œํ˜„ ๋ฐ”์ดํŠธ ์ˆ˜ ํ‘œํ˜„ ๋ฒ”์œ„
์ •์ˆ˜ํ˜•(์ˆซ์žํ˜•) TINYINT 1 -128~ 127
์ •์ˆ˜ํ˜•(์ˆซ์žํ˜•) SMALLINT 2 -32,768~ 32,767
์ •์ˆ˜ํ˜•(์ˆซ์žํ˜•) MEDIUMINT 3 ์•ฝ -838๋งŒ~ 838๋งŒ
์ •์ˆ˜ํ˜•(์ˆซ์žํ˜•) INT 4 ์•ฝ -21์–ต~ 21์–ต
์ •์ˆ˜ํ˜•(์ˆซ์žํ˜•) BIGINT 8 ์•ฝ -900๊ฒฝ~ 900๊ฒฝ
์‹ค์ˆ˜ํ˜•(์ˆซ์žํ˜•) FLOAT 4 ์†Œ์ˆ˜์  ์•„๋ž˜ 7์ž๋ฆฌ๊นŒ์ง€
์‹ค์ˆ˜ํ˜•(์ˆซ์žํ˜•) DOUBLE 8 ์†Œ์ˆ˜์  ์•„๋ž˜ 15์ž๋ฆฌ๊นŒ์ง€
๋ฌธ์žํ˜• CHAR(n) ์ตœ๋Œ€ 255 n์„ 1๋ถ€ํ„ฐ 255๊นŒ์ง€ ์ง€์ •
๋ฌธ์žํ˜• VARCHAR(n) ์ตœ๋Œ€ 65,535 n์„ 1๋ถ€ํ„ฐ 65,535๊นŒ์ง€ ์ง€์ •
๋ฌธ์žํ˜• TINYTEXT 255 ๊ณ ์ • 255 ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด๊นŒ์ง€
๋ฌธ์žํ˜• TEXT 65,535 ๊ณ ์ • 65,535 ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด๊นŒ์ง€
๋ฌธ์žํ˜• MEDIUMTEXT ์•ฝ 1,600๋งŒ ์•ฝ 1,600๋งŒ ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด๊นŒ์ง€
๋ฌธ์žํ˜• LONGTEXT ์•ฝ 42์–ต ์•ฝ 42์–ต ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด๊นŒ์ง€
๋‚ ์งœํ˜• DATE 3 0000-00-00~ 9999-12-31
๋‚ ์งœํ˜• DATETIME 3 0000-00-00 00:00:00~ 9999-12-31 23:59:59
๋‚ ์งœํ˜• TIME 4 -838:59:59~ 838:59:59
๋‚ ์งœํ˜• YEAR 1 1901~2155

 

 

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ ํ…Œ์ด๋ธ”/ ์ปฌ๋Ÿผ ์ด๋ฆ„ ์ •ํ•˜๊ธฐ ๊ทœ์น™

1) ๋ฌธ์ž, ์ˆซ์ž, _ ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
2) ์ด๋ฆ„์— ์“ฐ์ด๋Š” ๋ฌธ์ž๋Š” ์ฃผ๋กœ ์˜๋ฌธ ์†Œ๋ฌธ์ž๋ฅผ ์“ด๋‹ค. ํ•œ๊ธ€๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ธ์ฝ”๋”ฉ ์ด์Šˆ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ. 
๋ณดํ†ต ํ‚ค์›Œ๋“œ๋‚˜ ํ•จ์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž, ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ์ด๋ฆ„์—๋Š” ์†Œ๋ฌธ์ž ์‚ฌ์šฉ.
3) ์ด๋ฏธ ํ‚ค์›Œ๋“œ, ํ•จ์ˆ˜๋ช… ๋“ฑ ๋ฌธ๋ฒ•์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” "์˜ˆ์•ฝ์–ด"๋Š” ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
4) ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์—๋Š” ๋นˆ์นธ ๋Œ€์‹  _๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
5) ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค. ์ˆซ์ž, _ ๋ถˆ๊ฐ€.
6) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค. ํ…Œ์ด๋ธ” ์ด๋ฆ„ ์—ญ์‹œ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ์ค‘๋ณต๋  
์ˆ˜ ์—†์œผ๋ฉฐ ์ปฌ๋Ÿผ ์ด๋ฆ„์€ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค.

 

 

 

 

 

์ฃผ์š” ์ฟผ๋ฆฌ ํ‚ค์›Œ๋“œ

ํ‚ค์›Œ๋“œ ์˜๋ฏธ ๋ฌธ๋ฒ• ์ž‘์„ฑ ์ˆœ์„œ ์‹คํ–‰ ์ˆœ์„œ
SELECT ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ํ‚ค์›Œ๋“œ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„] 1 5
FROM ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•˜๋Š” ํ‚ค์›Œ๋“œ FROM [ํ…Œ์ด๋ธ” ์ด๋ฆ„] 2 1
WHERE ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ์กฐ๊ฑด์„ ์ง€์ •ํ•ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ WHERE ์กฐ๊ฑด์‹ 3 2
GROUP BY ์ปฌ๋Ÿผ์—์„œ ๋™์ผํ•˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋กœ์šฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋กœ ์—‘์…€์˜ ํ”ผ๋ฒ—๊ณผ ์œ ์‚ฌ
GROUP BY๊ฐ€ ์“ฐ์ธ ์ฟผ๋ฆฌ์˜ SELECT ์ ˆ์—๋Š” 
GROUP BY ๋Œ€์ƒ ์ปฌ๋Ÿผ๊ณผ ๊ทธ๋ฃน ํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ ๋Œ€์ƒ์œผ๋กœ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค
GROUP BY [์ปฌ๋Ÿผ ์ด๋ฆ„] 4 3
HAVING ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน์— ์กฐ๊ฑด์„ ์ง€์ •ํ•ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ
๊ทธ๋ฃน ํ•จ์ˆ˜ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—
GROU BY์˜ WHERE ์ ˆ๋กœ ๋ถˆ๋ฆผ
HAVING ์กฐ๊ฑด์‹ 5 4
ORDER BY ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ
๊ธฐ๋ณธ์ ์œผ๋กœ ASC(์˜ค๋ฆ„์ฐจ์ˆœ)๋กœ ์„ค์ •๋˜์–ด ์žˆ๊ณ 
DESC(๋‚ด๋ฆผ์ฐจ์ˆœ)์œผ๋กœ ๋ณ„๋„ ์„ค์ • ๊ฐ€๋Šฅ
์ปฌ๋Ÿผ ์ด๋ฆ„ ๋’ค์— ๊ธฐ์ž…ํ•˜๋ฉด ๋จ
ORDER BY [์ปฌ๋Ÿผ ์ด๋ฆ„] 6 6
AS ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ์— ๋ณ„๋ช…์„ ์ง€์ •ํ•˜๋Š” ํ‚ค์›Œ๋“œ AS [์ปฌ๋Ÿผ ๋ณ„๋ช…] - -
LIMIT ๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๋กœ์šฐ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ํ‚ค์›Œ๋“œ LIMIT [๋กœ์šฐ ์ˆ˜] - -
DISTINCT ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋Š” ์ œ์™ธํ•˜๊ณ  ๊ฐ™์€ ๊ฐ’์€ ํ•œ ๋ฒˆ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ํ‚ค์›Œ๋“œ DISTINCT [์ปฌ๋Ÿผ ์ด๋ฆ„] - -

 

 

 

 

์™€์ผ๋“œ์นด๋“œ

% / 0๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž
_ / 1๊ฐœ์˜ ๋ฌธ์ž

 

'%e' / e๋กœ ๋๋‚˜๋Š” ๋ฌธ์ž์—ด
e, ee, eevee, apple, pineapple

'e%' / e๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด
e, ee, eevee, eric

'%e%' / e๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์ž์—ด
e, ee, eevee, apple, pineapple, aespa

'_e' / e๋กœ ๋๋‚˜๊ณ  e ์•ž์— 1๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž์—ด
ae, ee, ce

'%_e' / e๋กœ ๋๋‚˜๊ณ  e ์•ž์— 1๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž์—ด
ee, eevee, apple, pineapple

'%_e_%' / e๋ฅผ ํฌํ•จํ•˜๊ณ  e ์•ž๋’ค๋กœ ๊ฐ๊ฐ 1๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž์—ด
eevee, aespa

 

 

 

 

์ˆœ์œ„ ํ•จ์ˆ˜

[ํ•จ์ˆ˜ ์ด๋ฆ„] () OVER (ORDER BY [์ปฌ๋Ÿผ ์ด๋ฆ„])

ํ•จ์ˆ˜ ์ฐจ์ด์ 
RANK ๊ณต๋™ ์ˆœ์œ„๊ฐ€ ์žˆ์œผ๋ฉด ๋‹ค์Œ ์ˆœ์„œ๋กœ ๊ฑด๋„ˆ ๋œ€
DENSE_RANK ๊ณต๋™ ์ˆœ์œ„๊ฐ€ ์žˆ์–ด๋„ ๋‹ค์Œ ์ˆœ์œ„๋ฅผ ๋›ฐ์–ด ๋„˜์ง€ ์•Š์Œ
ROW_NUMBER ๊ณต๋™ ์ˆœ์œ„๋ฅผ ๋ฌด์‹œํ•จ

 

 

 

 

๊ทธ๋ฃน ํ•จ์ˆ˜

GROUP BY๊ฐ€ ์—†๋Š” ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉ ์‹œ ์ „์ฒด ๋กœ์šฐ์— ์ ์šฉ๋จ

ํ•จ์ˆ˜ ์˜๋ฏธ
COUNT ๊ทธ๋ฃน์˜ ๊ฐ’ ์ˆ˜๋ฅผ ์„ธ๋Š” ํ•จ์ˆ˜
COUNT(1)์€ ํ•˜๋‚˜์˜ ๊ฐ’์„ 1๋กœ ์„ธ์–ด ์ฃผ๋Š” ํ‘œํ˜„์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉ
GROUP BY๊ฐ€ ์—†๋Š” ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉ ์‹œ ์ „์ฒด ๋กœ์šฐ์— ์ ์šฉ๋จ
SUM ๊ทธ๋ฃน์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜
AVG ๊ทธ๋ฃน์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜
MIN ๊ทธ๋ฃน์˜ ์ตœ์†Ÿ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
MAX ๊ทธ๋ฃน์˜ ์ตœ๋Œ“๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

 

 

 

 

์ฃผ์š” ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์˜๋ฏธ ํ™œ์šฉ
BETWEEN ํŠน์ • ๋ฒ”์œ„ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž BETWEEN A AND B
IN ๋ชฉ๋ก ๋‚ด ํฌํ•จ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž [์ปฌ๋Ÿผ ์ด๋ฆ„] IN (A, B, ..., C)
LIKE ํŠน์ • ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ์—ฐ์‚ฐ์ž [์ปฌ๋Ÿผ ์ด๋ฆ„] LIKE [๊ฒ€์ƒ‰ํ•  ๋ฌธ์ž์—ด]
IS NULL ๋ฐ์ดํ„ฐ๊ฐ€ NULL์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์ž [์ปฌ๋Ÿผ ์ด๋ฆ„] IS NULL

 

 

 

 

์ฃผ์š” ๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์„ค๋ช… ํ™œ์šฉ
LOCATE "ABC"์—์„œ "A"๋Š” ๋ช‡ ๋ฒˆ์งธ์— ์œ„์น˜ํ•ด ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ด ์œ„์น˜ ๋ฐ˜ํ™˜ LOCATE("A","ABC")
SUBSTRING "ABC"์—์„œ 2๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ๋ฐ˜ํ™˜ SUBSTRING("ABC", 2)
RIGHT "ABC"์—์„œ ์˜ค๋ฅธ์ชฝ 1๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋ฐ˜ํ™˜ RIGHT("ABC", 1)
LEFT "ABC"์—์„œ ์™ผ์ชฝ 1๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋ฐ˜ํ™˜ LEFT("ABC", 1)
UPPER "abc"๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ” ๋ฐ˜ํ™˜ UPPER("abc")
LOWER "ABC"๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ” ๋ฐ˜ํ™˜ LOWER("ABC")
LENGTH "ABC"์˜ ๊ธ€์ž ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ LENGTH("ABC")
CONCAT "ABC" ๋ฌธ์ž์—ด๊ณผ "CDF" ๋ฌธ์ž์—ด์„ ํ•ฉ์ณ ๋ฐ˜ํ™˜ CONCAT("ABC", "DEF")
REPLACE "ABC"์˜ "A"๋ฅผ "Z"๋กœ ๋ฐ”๊ฟ” ๋ฐ˜ํ™˜ REPLACE("ABC", "A", "Z")

 

 

 

 

์ฃผ์š” ์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์„ค๋ช… ํ™œ์šฉ
ABS ์ˆซ์ž์˜ ์ ˆ๋Œ“๊ฐ’ ๋ฐ˜ํ™˜ ABS(์ˆซ์ž)
CEILING ์ˆซ์ž๋ฅผ ์ •์ˆ˜๋กœ ์˜ฌ๋ฆผํ•ด์„œ ๋ฐ˜ํ™˜ CEILING(์ˆซ์ž)
FLOOR ์ˆซ์ž๋ฅผ ์ •์ˆ˜๋กœ ๋‚ด๋ฆผํ•ด์„œ ๋ฐ˜ํ™˜ FLOOR(์ˆซ์ž)
ROUND ์ˆซ์ž๋ฅผ ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ๋ฐ˜์˜ฌ๋ฆผ ํ•ด์„œ ๋ฐ˜ํ™˜ ROUND(์ˆซ์ž, ์ž๋ฆฟ์ˆ˜)
TRUNCATE ์ˆซ์ž๋ฅผ ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ๋ฒ„๋ฆผ ํ•ด์„œ ๋ฐ˜ํ™˜ TRUNCATE(์ˆซ์ž, ์ž๋ฆฟ์ˆ˜)
POWER ์ˆซ์žA์˜ ์ˆซ์žB ์ œ๊ณฑ ๋ฐ˜ํ™˜ POWER(์ˆซ์žA, ์ˆซ์žB)
MOD ์ˆซ์žA๋ฅผ ์ˆซ์žB๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๋ฐ˜ํ™˜ MOD(์ˆซ์žA, ์ˆซ์žB)

 

 

 

 

์ฃผ์š” ๋‚ ์งœํ˜• ๋ฐ์ดํ„ฐ ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์„ค๋ช… ํ™œ์šฉ
NOW ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ˜ํ™˜ NOW()
CURRENT_DATE ํ˜„์žฌ ๋‚ ์งœ ๋ฐ˜ํ™˜ CURRENT_DATE()
CURRENT_TIME ํ˜„์žฌ ์‹œ๊ฐ„ ๋ฐ˜ํ™˜ CURRENT_TIME
YEAR ๋‚ ์งœ์˜ ์—ฐ๋„ ๋ฐ˜ํ™˜ YEAR(๋‚ ์งœ)
MONTH ๋‚ ์งœ์˜ ์›” ๋ฐ˜ํ™˜ MONTH(๋‚ ์งœ)
MONTHNAME ๋‚ ์งœ์˜ ์›”์„ ์˜์–ด๋กœ ๋ฐ˜ํ™˜ MONTHNAME(๋‚ ์งœ)
DAYNAME ๋‚ ์งœ์˜ ์š”์ผ์„ ์˜์–ด๋กœ ๋ฐ˜ํ™˜ DAYNAME(๋‚ ์งœ)
DAYOFMONTH ๋‚ ์งœ์˜ ์ผ ๋ฐ˜ํ™˜ DAYOFMONTH(๋‚ ์งœ)
DAYOFWEEK ๋‚ ์งœ์˜ ์š”์ผ์„ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜ DAYOFWEEK(๋‚ ์งœ)
WEEK ๋‚ ์งœ๊ฐ€ ํ•ด๋‹น ์—ฐ๋„์— ๋ช‡ ๋ฒˆ์งธ ์ฃผ์ธ์ง€ ๋ฐ˜ํ™˜ WEEK(๋‚ ์งœ)
HOUR ์‹œ๊ฐ„์˜ ์‹œ ๋ฐ˜ํ™˜ HOUR(์‹œ๊ฐ„)
MINUTE ์‹œ๊ฐ„์˜ ๋ถ„ ๋ฐ˜ํ™˜ MINUTE(์‹œ๊ฐ„)
SECOND ์‹œ๊ฐ„์˜ ์ดˆ ๋ฐ˜ํ™˜ SECOND(์‹œ๊ฐ„)
DATEFORMAT ๋‚ ์งœ/ ์‹œ๊ฐ„์˜ ํ˜•์‹์„ ํ˜•์‹์œผ๋กœ ๋ฐ”๊ฟ”  ๋ฐ˜ํ™˜ DATEFORMAT(๋‚ ์งœ/์‹œ๊ฐ„, ํ˜•์‹)
DATEDIFF ๋‚ ์งœ1๊ณผ ๋‚ ์งœ2์˜ ์ฐจ์ด ๋ฐ˜ํ™˜(๋‚ ์งœ1- ๋‚ ์งœ2) DATEDIFF(๋‚ ์งœ1- ๋‚ ์งœ2)
TIMEDIFF ์‹œ๊ฐ„1๊ณผ ์‹œ๊ฐ„2์˜ ์ฐจ์ด ๋ฐ˜ํ™˜(์‹œ๊ฐ„1- ์‹œ๊ฐ„2) TIMEDIFF(์‹œ๊ฐ„1- ์‹œ๊ฐ„2)

 

 

 

 

์กฐ๊ฑด ๋งŒ๋“ค๊ธฐ

์กฐ๊ฑด ๋งŒ๋“ค๊ธฐ IF (์กฐ๊ฑด์‹, ์ฐธ์ผ ๋•Œ ๊ฐ’, ๊ฑฐ์ง“์ผ ๋•Œ ๊ฐ’)
์—ฌ๋Ÿฌ ์กฐ๊ฑด ํ•œ๋ฒˆ์— ๋งŒ๋“ค๊ธฐ CASE [์ปฌ๋Ÿผ ์ด๋ฆ„]
   WHEN ์กฐ๊ฑด๊ฐ’1 THEN ๊ฒฐ๊ณผ๊ฐ’1
   WHEN ์กฐ๊ฑด๊ฐ’2 THEN ๊ฒฐ๊ณผ๊ฐ’2
   ELSE ๊ฒฐ๊ณผ๊ฐ’3
END

 

 

 

 

ํ…Œ์ด๋ธ” ํ•ฉ์น˜๊ธฐ

 ํ‘œํ˜„ ์„ค๋ช… ํ™œ์šฉ
INNER JOIN ๋‘ ํ…Œ์ด๋ธ” ๋ชจ๋‘์— ์žˆ๋Š” ๊ฐ’๋งŒ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
INNER JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„]
ON [ํ…Œ์ด๋ธ” A ์ด๋ฆ„].[์ปฌ๋Ÿผ A ์ด๋ฆ„]=[ํ…Œ์ด๋ธ” B ์ด๋ฆ„].[์ปฌ๋Ÿผ B ์ด๋ฆ„]
LEFT JOIN ์™ผ์ชฝ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฐ’๋งŒ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
LEFT JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„]
ON [ํ…Œ์ด๋ธ” A ์ด๋ฆ„].[์ปฌ๋Ÿผ A ์ด๋ฆ„]=[ํ…Œ์ด๋ธ” B ์ด๋ฆ„].[์ปฌ๋Ÿผ B ์ด๋ฆ„]

RIGHT JOIN ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฐ’๋งŒ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
RIGHT JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„]
ON [ํ…Œ์ด๋ธ” A ์ด๋ฆ„].[์ปฌ๋Ÿผ A ์ด๋ฆ„]=[ํ…Œ์ด๋ธ” B ์ด๋ฆ„].[์ปฌ๋Ÿผ B ์ด๋ฆ„]
OUTER JOIN ๋‘ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
LEFT JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„]
ON [ํ…Œ์ด๋ธ” A ์ด๋ฆ„].[์ปฌ๋Ÿผ A ์ด๋ฆ„]=[ํ…Œ์ด๋ธ” B ์ด๋ฆ„].[์ปฌ๋Ÿผ B ์ด๋ฆ„]
UNION
SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
RIGHT JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„]
ON [ํ…Œ์ด๋ธ” A ์ด๋ฆ„].[์ปฌ๋Ÿผ A ์ด๋ฆ„]=[ํ…Œ์ด๋ธ” B ์ด๋ฆ„].[์ปฌ๋Ÿผ B ์ด๋ฆ„]
CROSS JOIN ๋‘ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์„ ๊ฐ๊ฐ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
CROSS JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„];
SELF JOIN ๊ฐ™์€ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฐ’ ํ•ฉ์น˜๊ธฐ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„] AS t1
INNER JOIN [ํ…Œ์ด๋ธ” A ์ด๋ฆ„] AS t2
ON t1.[์ปฌ๋Ÿผ A ์ด๋ฆ„] = t2.[์ปฌ๋Ÿผ A ์ด๋ฆ„];

 

 

 

 

์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ” ํ•œ ๋ฒˆ์— ๋‹ค๋ฃจ๊ธฐ

ํ‘œํ˜„ ํ™œ์šฉ
ํ•ฉ์ง‘ํ•ฉ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„] FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
UNION
SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„] FROM [ํ…Œ์ด๋ธ” B ์ด๋ฆ„];
์ค‘๋ณต ํฌํ•จ ํ•ฉ์ง‘ํ•ฉ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„] FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„]
UNION ALL
SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„] FROM [ํ…Œ์ด๋ธ” B ์ด๋ฆ„];
๊ต์ง‘ํ•ฉ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ” A ์ด๋ฆ„] AS A
INNER JOIN [ํ…Œ์ด๋ธ” B ์ด๋ฆ„] AS B
ON A.[์ปฌ๋Ÿผ1 ์ด๋ฆ„] = B.[์ปฌ๋Ÿผ1 ์ด๋ฆ„] AND ... AND A.[์ปฌ๋Ÿผn ์ด๋ฆ„] = B.[์ปฌ๋Ÿผn ์ด๋ฆ„];
์ฐจ์ง‘ํ•ฉ SELECT [์ปฌ๋Ÿผ ์ด๋ฆ„]
FROM [ํ…Œ์ด๋ธ”A ์ด๋ฆ„] AS A
LEFT JOIN [ํ…Œ์ด๋ธ” B] AS B
ON A.[์ปฌ๋Ÿผ1 ์ด๋ฆ„] = B.[์ปฌ๋Ÿผ1 ์ด๋ฆ„] AND ... AND A.[์ปฌ๋Ÿผn ์ด๋ฆ„] = B.[์ปฌ๋Ÿผn ์ด๋ฆ„]
WHERE B.[์ปฌ๋Ÿผ ์ด๋ฆ„] IS NULL;

 

 

 

 

 

ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ ์ฟผ๋ฆฌ

SET GLOVAL log_bin_trust_function_creators=1; #์‚ฌ์šฉ์ž ๊ณ„์ •์— function create ๊ถŒํ•œ ์ƒ์„ฑ

DELIMITER // # ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ์ง€์ •

CREATE FUNCTION [ํ•จ์ˆ˜ ์ด๋ฆ„] ([์ž…๋ ฅ๊ฐ’ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…], ...)
RETURNS [๊ฒฐ๊ณผ๊ฐ’ ๋ฐ์ดํ„ฐ ํƒ€์ž…]
BEGIN
DECLARE [์ž„์‹œ๊ฐ’ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…];
SET [์ž„์‹œ๊ฐ’ ์ด๋ฆ„] = [์ž…๋ ฅ๊ฐ’ ์ด๋ฆ„];
์ฟผ๋ฆฌ;
RETURN ๊ฒฐ๊ณผ๊ฐ’
END

//
DELIMITER; #ํ•จ์ˆ˜์˜ ๋ ์ง€์ •
๋”๋ณด๊ธฐ
TOOLS/SQL