๐™ธ๐šƒ

Oracle๊ณผ MySQL์˜ ์ฐจ์ด ๋ฐ ๊ฐœ๋…

ํ•ด๋ฒ„๋‹ˆ 2023. 8. 24. 13:01
๋ฐ˜์‘ํ˜•

โ“๊ถ๊ธˆ์ฆโ“

์ตœ๊ทผ ๋ฉด์ ‘์„ ๋ณด๊ฒŒ ๋๋Š”๋ฐ, ๋Œ€ํ•™์ƒ ๋•Œ MySQL์„ ์ผ์—ˆ๊ณ  ์ตœ๊ทผ์— Oracle๋กœ DB๋ฅผ ์„ ํƒํ–ˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ทธ๋Ÿผ ๋‘˜์˜ ์ฐจ์ด์ ์„ ์•„๋Š”์ง€ ์™œ Oracle์„ ์„ ํƒํ–ˆ๋Š”์ง€์˜ ์งˆ๋ฌธ์„ ๋ฐ›์•„์„œ ๋ชจ๋ฅธ๋‹ค๊ณ  ๋Œ€๋‹ต์„ ํ–ˆ๋‹ค....

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธฐํšŒ์— ๋‘˜์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

 

 

 

Oracle(์˜ค๋ผํด) ์ด๋ž€?

๋ฏธ๊ตญ์˜ ์˜ค๋ผํด ํšŒ์‚ฌ์—์„œ ์ œ์ž‘ํ•œ ์„ธ๊ณ„ ์ ์œ ์œจ 1์œ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

ํ˜„์žฌ ์œ ๋‹‰์Šค ์ฒด์ œ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” DBMS

 

 

 

๐Ÿ‘์žฅ์ 

๋Œ€๊ทœ๋ชจ ๊ธฐ์—… ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•œ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๊ณ ์„ฑ๋Šฅ, ๋ณต์žกํ•œ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ, ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋“ฑ์— ์šฐ์ˆ˜ํ•˜๋‹ค.

 

 

๐Ÿ‘Ž๋‹จ์ 

๋น„์šฉ์ ์ธ ๋ถ€๋‹ด ์ฆ๊ฐ€

๊ธฐ๋Šฅ์ด ๋งŽ์•„ ์ดˆ๋ณด์ž์—๊ฒŒ ์–ด๋ ค์›€

๋†’์€ ์ง€์› ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์ด ํ•„์š”ํ•จ

 

 

 

 

 

MySQL์ด๋ž€?

์ „์„ธ๊ณ„์ ์œผ๋กœ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฉฐ, MySQL AB์‚ฌ๊ฐ€ ๊ฐœ๋ฐœํ•˜์—ฌ ๋ฐฐํฌ ๋ฐ ํŒ๋งคํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌํˆด์ด๋‹ค.

 

 

๐Ÿ‘์žฅ์ 

๋งค์šฐ ์ ์€ ์˜ค๋ฒ„ ํ—ค๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

→ ํ•ด๋‹น ์ž‘์—…์ด ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ณ , ํ•„์š” ์ด์ƒ์˜ ๋ถ€๊ฐ€ ์ž‘์—…์ด๋‚˜ ๋น„์šฉ์ด ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋‹ค๋Š” ๊ฒƒ.

→ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ์šฐ์ˆ˜ํ•˜๋‹ค, ์ฒ˜๋ฆฌ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค

๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ํˆด์— ๋น„ํ•ด ๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ๋‹ค.

๊ฑฐ์˜ ๋ชจ๋“  ์šด์˜์ฒด์ œ ์‚ฌ์šฉ์„ ์ง€์›ํ•œ๋‹ค.

MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฌด๋ฃŒ๋ผ์„œ ๋น„์šฉ์ ์ธ ๋ถ€๋‹ด์ด ์ ๋‹ค.

์˜คํ”ˆ์†Œ์Šค๋Š” ๋ฌด๋ฃŒ, ์ƒ์—…์šฉ์€ ์œ ๋กœ์ด๋‹ค.

 

 

๐Ÿ‘Ž๋‹จ์ 

๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋Š” ์„ฑ๋Šฅ ์ €ํ•˜

ํŠธ๋žœ์žญ์…˜ ์ง€์›์ด ์™„๋ฒฝํ•˜์ง€ ์•Š๋‹ค.

์‚ฌ์šฉ์ž์ •์˜ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์ด ์‰ฝ์ง€ ์•Š๊ณ  ์œ ์—ฐํ•˜์ง€ ์•Š๋‹ค.

 

 

 

 

๊ตฌ๋ฌธ ์ฐจ์ด

 

โ‘  Null  ๊ฐ’ ํ™•์ธ ํ•จ์ˆ˜

Oracle : NVL

MySQL : IFNULL

-- Oracle
SELECT NVL(column_name, 'DefaultValue') AS result FROM table_name;


-- MySQL
SELECT IFNULL(column_name, 'DefaultValue') AS result FROM table_name;

 

 

โ‘ก ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ํ™•์ธ ํ•จ์ˆ˜

Oracle : SYSDATE

MySQL : DATE()

-- Oracle
SELECT SYSDATE FROM dual;

-- MySQL
SELECT NOW();

 

 

โ‘ข ๋‚ ์งœ ํฌ๋ฉง ๋ณ€ํ™˜

Oracle : TO_CHAR

MySQL : DATE_FORMAT

-- Oracle
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS formatted_date FROM dual;
-- ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ 'YYYY-MM-DD HH24:MI:SS' ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ‘œ์‹œ

-- MySQL
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_date;
-- ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ '%Y-%m-%d %H:%i:%s' ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ‘œ์‹œ

 

 

โ‘ฃ ์š”์ผ ๋ณ€ํ™˜์˜ ์ˆซ์ž ๋ฒ”์œ„

Oracle : ์ผ~ํ† ๋ฅผ 1~7๋กœ ์ธ์‹

MySQL : ์ผ~ํ† ๋ฅผ 0~6๋กœ ์ธ์‹

 

 

 

โ‘ค ๋ฌธ์ž์™€ ๋ฌธ์ž๋ฅผ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•

Oracle : ' '

MySQL :  CONCAT

-- Oracle
SELECT 'Hello ' || 'World' AS concatenated_string FROM dual;


-- MySQL
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;

 

 

โ‘ฅ ํ˜•๋ณ€ํ™˜ ๋ฐฉ๋ฒ•

Oracle : TO_CHAR

MySQL : CAST

-- Oracle
-- ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜
SELECT CAST('123' AS NUMBER) AS numeric_value FROM dual;

-- ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ๋‚ ์งœ๋กœ ๋ณ€ํ™˜
SELECT TO_DATE('2023-08-24', 'YYYY-MM-DD') AS date_value FROM dual;

-- ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
SELECT TO_CHAR(123) AS string_value FROM dual;



-- MySQL
-- ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜
SELECT CAST('123' AS SIGNED) AS numeric_value;

-- ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ๋‚ ์งœ๋กœ ๋ณ€ํ™˜
SELECT STR_TO_DATE('2023-08-24', '%Y-%m-%d') AS date_value;

-- ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
SELECT CAST(123 AS CHAR) AS string_value;

 

 

 

โ‘ฆ ์‹œํ€€์Šค ์‚ฌ์šฉ์‹œ ๋‹ค์Œ ๋ฒˆํ˜ธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•

Oracle : ์‹œํ€€์Šค๋ช….NEXTVAL

MySQL : ์‹œํ€€์Šค๋ช….CURRVAL

-- Oracle
SELECT your_sequence.NEXTVAL FROM dual;

 

 

โ‘ง ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„

Oracle : ๊ตฌ๋ถ„์—†์Œ

MySQL : ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋‚˜, ์„ค์ •์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•