๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
300x250

DB37

[Oracle] GRANT(๊ถŒํ•œ๋ถ€์—ฌ) / REVOKE (๊ถŒํ•œํšŒ์ˆ˜) GRANT REVOKE ์‚ฌ์šฉ์ž(User)์—๊ฒŒ ์ ‘์†๊ถŒํ•œ, ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ๊ถŒํ•œ, DBA ๊ถŒํ•œ ๋“ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด ์‚ฌ์šฉ์ž(User)์—๊ฒŒ ๋ถ€์—ฌํ•œ ๊ถŒํ•œ์„ ๋‹ค์‹œ ํšŒ์ˆ˜ํ•˜๋Š” ๋ช…๋ น์–ด ์˜ค๋ผํด์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ •, ์•”ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚œ ๋’ค์— ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ์ ‘์† ๋ฐ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. System Privilege (์‹œ์Šคํ…œ ๊ถŒํ•œ) 2. Object Privilege (๊ฐ์ฒด ๊ถŒํ•œ) โœจ์‹œ์Šคํ…œ ๊ถŒํ•œ (System Privileges) ์‹œ์Šคํ…œ ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž (User) ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. - DBA ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์œ ์ € (SYS , SYSTEM) ๋งŒ ์‹œ์Šคํ…œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ  ํšŒ์ˆ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๊ถŒํ•œ์˜ ANY ํ‚ค์›Œ๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋“  ์Šคํ‚ค๋งˆ์—.. 2022. 4. 26.
[Oracle] IN, NOT IN ํŠน์ • ๋ฐ์ดํ„ฐ ํฌํ•จ/์ œ์™ธ ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค. :D ํŠน์ • ๋ฐ์ดํ„ฐ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํ˜น์€ ์ œ์™ธํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” IN, NOT IN ๋ฌธ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜Š โœจIN ๋ฌธ ์‚ฌ์šฉ๋ฒ• SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] IN ('A','B'); -- ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์ œ์™ธ ๊ฐ€๋Šฅ -- IN ๋ฌธ์„ ํ’€์ดํ•œ ์ฟผ๋ฆฌ๋ฌธ SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] = 'A' OR [์ปฌ๋Ÿผ๋ช…] = 'B' โœจNOT IN ๋ฌธ ์‚ฌ์šฉ๋ฒ• SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] NOT IN ('A','B'); -- ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์ œ์™ธ ๊ฐ€๋Šฅ -- NOT IN ๋ฌธ์„ ํ’€์ดํ•œ ์ฟผ๋ฆฌ๋ฌธ SELECT * FROM TABLE WHERE [์ปฌ๋Ÿผ๋ช…] 'A' AND [์ปฌ๋Ÿผ๋ช…] 'B' โœจSUBQUER.. 2022. 4. 15.
[MySQL] IS NULL ASC, IS NULL DESC ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NULL ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. IS NULL DESC : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ์•ž์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. IS NULL ASC : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ๋’ค์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Order BY [์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ปฌ๋Ÿผ๋ช…] IS NULL ASC; Default ๊ฐ’์€ DESC(๋‚ด๋ฆผ์ฐจ์ˆœ) ์ž…๋‹ˆ๋‹ค. *NULL ์ด ๋จผ์ € ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. 2022. 4. 14.
[Oracle] ORDER BY NULL ๊ฐ’ ์ •๋ ฌํ•˜๊ธฐ - NULLS FIRST, NULLS LAST ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NULL ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. NULLS FIRST : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ์•ž์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. NULLS LAST : ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” NULL ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ์ดํ„ฐ ๋’ค์— ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Order BY [์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ปฌ๋Ÿผ๋ช…] [DESC/ASC] NULLS FIRST Default ๊ฐ’์œผ๋กœ NULL ์ด ๋จผ์ € ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. -- ์˜ˆ์‹œ SELECT substr(S.sno,1,1)sno1, substr(S.sno,2,2)sno2, substr(S.sno,4,2)sno3, S.sname, E.ekor, E.emath, E.eeng, E.ehist , (E.ekor+E.emath+E.eeng+E.. 2022. 4. 14.
[MySQL] ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ - UPDATE UPDATE - ๋ฐ์ดํ„ฐ ์ˆ˜์ • UPDATE ๋ฌธ์€ ํ•ด๋‹น ํ…Œ์ด๋ธ”์—์„œ WHERE ์ ˆ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ๊ฐ’๋งŒ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก(WHERE ์กฐ๊ฑด์‹์„ ์ƒ๋žตํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ(๋กœ์šฐ)๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.) UPDATE ํ…Œ์ด๋ธ”์ด๋ฆ„ SET ํ•„๋“œ์ด๋ฆ„1=๋ฐ์ดํ„ฐ๊ฐ’1, ํ•„๋“œ์ด๋ฆ„2=๋ฐ์ดํ„ฐ๊ฐ’2, ... WHERE ํ•„๋“œ์ด๋ฆ„=๋ฐ์ดํ„ฐ๊ฐ’ 2022. 3. 29.
[MySQL] ์ œ์•ฝ ์กฐ๊ฑด - constraint โœจ์ œ์•ฝ ์กฐ๊ฑด(constraint)์ด๋ž€? ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ๊ฒ€์‚ฌ ๊ทœ์น™์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ œ์•ฝ ์กฐ๊ฑด์€ CREATE ๋ฌธ์œผ๋กœ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ๋‚˜ ALTER ๋ฌธ์œผ๋กœ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. MySQL์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์•ฝ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ตฌ๋ถ„ ์„ค๋ช… 1. NOT NULL ๋ฌด์กฐ๊ฑด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. 2. UNIQUE ์ค‘๋ณต๋œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค. 3. PRIMARY KEY๐Ÿ”‘ ๊ณ ์œ ํ‚ค - NOT NULL๊ณผ UNIQUE ์ œ์•ฝ ์กฐ๊ฑด์˜ ํŠน์ง•์„ ๋ชจ๋‘ ๊ฐ€์ง„๋‹ค. 4. FOREIGN KEY ์™ธ๋ž˜ํ‚ค - ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ•  5. DEFAULT ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • ๐Ÿ‘‡NOT NULL CREATE TABLE ํ…Œ์ด๋ธ”์ด๋ฆ„ ( ํ•„๋“œ์ด๋ฆ„ ํ•„๋“œํƒ€์ž… NOT .. 2022. 3. 29.
[MySQL] ์„œ๋ธŒ์ฟผ๋ฆฌ( subquery) ๋ž€? โœจ์„œ๋ธŒ์ฟผ๋ฆฌ(subquery) ์„œ๋ธŒ์ฟผ๋ฆฌ(subquery)๋ž€ ๋‹ค๋ฅธ ์ฟผ๋ฆฌ ๋‚ด๋ถ€์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” SELETE ๋ฌธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์™ธ๋ถ€์ฟผ๋ฆฌ(outer query)๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋‚ด๋ถ€์ฟผ๋ฆฌ(inner query)๋ผ๊ณ ๋„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋ฐ˜๋“œ์‹œ ๊ด„ํ˜ธ(())๋กœ ๊ฐ์‹ธ์ ธ ์žˆ์–ด์•ผ๋งŒ ํ•ฉ๋‹ˆ๋‹ค. MySQL์—์„œ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์™ธ๋ถ€์ฟผ๋ฆฌ๋Š” SELECT, INSERT, UPDATE, DELETE, SET, DO ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋˜ ๋‹ค์‹œ ๋‹ค๋ฅธ ์„œ๋ธŒ์ฟผ๋ฆฌ ์•ˆ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ํŠน์ง• ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์กฐํ™”์‹œํ‚ค๋ฏ€๋กœ, ์ฟผ๋ฆฌ์˜ ๊ฐ ๋ถ€๋ถ„์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. 2. ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋ณต์žกํ•œ J.. 2022. 3. 29.
[MySQL] CASE ์กฐ๊ฑด๋ฌธ SELECT ( CASE ์ปฌ๋Ÿผ๋ช… WHEN '๊ฐ’1' THEN '์ถœ๋ ฅํ• ๊ฐ’1' WHEN '๊ฐ’2' THEN '์ถœ๋ ฅํ• ๊ฐ’2' WHEN '๊ฐ’3' THEN '์ถœ๋ ฅํ• ๊ฐ’3' END )AS ์ปฌ๋Ÿผ๋ช… // 2022. 3. 28.
[MySQL] ๋ฐ์ดํ„ฐ์˜ ๊ต์ง‘ํ•ฉ & ํ•ฉ์ง‘ํ•ฉ - JOIN โœจ MySQL JOIN ์ด๋ž€? ๋‘˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ํ…Œ์ด๋ธ”๋“ค์ด ์ ์–ด๋„ ํ•˜๋‚˜์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณต์œ ํ•˜๊ณ  ์žˆ๋Š” ์ปฌ๋Ÿผ์„ PK ๋˜๋Š” FK๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. INNER JOIN LEFT/RIGHT JOIN OUTER JOIN ๊ต์ง‘ํ•ฉ,๊ณตํ†ต์ ์ธ ๋ถ€๋ถ„๋งŒ SELECT๋จ ์กฐ์ธ๊ธฐ์ค€ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋‘ SELECT ๋จ OUTER JOIN์—์„  INNER Table์— ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ๋ชจ๋‘ NULL๋กœ ์ฑ„์›Œ์„œ ๊ฐ€์ ธ์˜จ๋‹ค. ์ž‘์„ฑ๋ฒ• ) ์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ ON ์กฐ๊ฑด ์ž‘์„ฑ๋ฒ• ) ์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ LEFT JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„ ON ์กฐ๊ฑด ์ž‘์„ฑ๋ฒ• ) SELECT ํ•„๋“œ์ด๋ฆ„ FROM ํ…Œ์ด๋ธ”์ด๋ฆ„ UNION SELECT ํ•„๋“œ์ด๋ฆ„ FRO.. 2022. 3. 28.
728x90
300x250

์ฝ”๋“œ