01. DDL : ๋ฐ์ดํฐ ์ ์์ด (DBA, USER)
1. DDL : ๋ฐ์ดํฐ ์ ์์ด (DBA, USER)
CREATE ํ
์ด๋ธ์์ฑ, ALTER ํ
์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ, DROP ํ
์ด๋ธ ์ญ์
[CREATE ํ
์ด๋ธ ์์ฑ]
โ ๊ธฐ๋ณธ๊ณต์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์นผ๋ผ๋ช
๋ฐ์ดํฐํ ์ ์ฝ์กฐ๊ฑด
);
[DATA TYPE]
NUMBER(N) n๋งํผ์ ์ซ์(์ค์)๋ฅผ ์ ์ฅ
INT 4byte ํฌ๊ธฐ์ ์ ์
VARCHAR(2)(n) n๋งํผ์ ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์
CHAR(n) n๋งํผ์ ๊ณ ์ ๊ธธ์ด ๋ฌธ์
DATE ๋ ์ง/์๊ฐ
[ํ
์ด๋ธ ์ ์ฝ์กฐ๊ฑด]
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ธฐ ์ํ ์ ์ฝ์กฐ๊ฑด
- ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ ๋, ๋ฌด์กฐ๊ฑด์ด ์๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ์ ๋์๋ง ์
๋ ฅ๋๋๋ก ์ ํํ๋ ๊ฒ
PRIMARY KEY ๊ธฐ๋ณธํค. ์ค๋ณต๋ถ๊ฐ, ์๋ต๋ถ๊ฐ
FOREIGN KEY ์ธ๋ํค. ์ธ๋ํค ๊ด๊ณ๋ฅผ ์ค์ ํ๋ฉด, ํ๋์ ํ
์ด๋ธ์ด ๋ค๋ฅธ ํ
์ด๋ธ์ ์์กด
UNIQUE ์ ์ผํค. ์ค๋ณต๋ถ๊ฐ, NULL๊ฐ์ 1๊ฐ ํ์ฉ
CEHCK ๋ฐ์ดํฐ ์ ๊ฒ. ์ ์ฝ์กฐ๊ฑด์ ์๋ฐฐ๋๋ ๋ฐ์ดํฐ๋ ์
๋ ฅ๋์ง ์์
NOT NULL ์๋ต๋ถ๊ฐ
โก ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ ํ
์ด๋ธ ๋ณต์ฌ์์ฑ
- ๋ฉ์ธ์ฟผ๋ฆฌ AS ์๋ธ์ฟผ๋ฆฌ;
CREATE TABLE ํ
์ด๋ธ๋ช
AS
SELECT * FROM ์ฐธ์กฐํ ํ
์ด๋ธ๋ช
;
ํ
์ด๋ธ ์์ฑ
- CREATE TABLE ํ
์ด๋ธ๋ช
AS
SELECT ์นผ๋ผ๋ช
FROM ์ฐธ์กฐํ ํ
์ด๋ธ๋ช
WHERE 1=0;
ํ
์ด๋ธ ๊ตฌ์กฐ๋ง ๋ณต์ฌํ์ฌ ์์ฑ
[๋จ์ผํ ์๋ธ์ฟผ๋ฆฌ : ์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ์ด 1๊ฑด ์ดํ]
๋ฉ์ธ์ฟผ๋ฆฌ ๋น๊ต์ฐ์ฐ์ (์๋ธ์ฟผ๋ฆฌ);
SELECT ์นผ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
WHERE deptno =
(SELECT deptno FROM emp WHERE ename='SCOTT');
* ๋น๊ต์ฐ์ฐ์ : =, <=, =>, <>
* AVG
[๋ค์คํ ์๋ธ์ฟผ๋ฆฌ : ์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ์ด 2๊ฑด ์ด์]
๋ฉ์ธ์ฟผ๋ฆฌ ๋น๊ต์ฐ์ฐ์ (์๋ธ์ฟผ๋ฆฌ);
* ๋ค์คํ ๋น๊ต์ฐ์ฐ์
IN : ์๋ธ์ฟผ๋ฆฌ์ ๊ฒ์ ๊ฒฐ๊ณผ์ ํ๋๋ผ๋ ์ผ์นํ๋ฉด ์ฐธ
ALL ์๋ธ์ฟผ๋ฆฌ์ ๊ฒ์ ๊ฒฐ๊ณผ์ ๋ชจ๋ ๊ฐ์ด ์ผ์นํ๋ฉด ์ฐธ
ANY ์๋ธ์ฟผ๋ฆฌ์ ๊ฒ์ ๊ฒฐ๊ณผ์ ํ๋ ์ด์ ์ผ์นํ๋ฉด ์ฐธ
[ALTER ํ
์ด๋ธ ๊ตฌ์กฐ๋ณ๊ฒฝ]
โ ํ
์ด๋ธ๋ช
๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
RENAME TO ์นผ๋ผ๋ช
;
โก ์นผ๋ผ ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
(
ADD (์นผ๋ผ๋ช
์๋ฃํ(n)
);
โข ์นผ๋ผ ์์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์นผ๋ผ๋ช
์๋ฃํ(n) ์ ์ฝ์กฐ๊ฑด);
* ์ ์ฝ์กฐ๊ฑด ์์ ๋ถ๊ฐ
โฃ ์นผ๋ผ ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP COLUMN ์นผ๋ผ๋ช
;
[ํ
์ด๋ธ/๋ ์ฝ๋/์์ํ์ผ ์ ๊ฑฐ]
โ ํ
์ด๋ธ ์ ๊ฑฐ
DROP TABLE ํ
์ด๋ธ๋ช
;
DROP TABLE ํ
์ด๋ธ๋ช
PURGE;
โก ์ ์ฒด ๋ ์ฝ๋ ์ ๊ฑฐ
TRUNCATE TABLE ํ
์ด๋ธ๋ช
;
โข ์์ํ์ผ ์ ๊ฑฐ
PURGE RECYCLEBIN;
[๋ฐ์ดํฐ ์ฌ์ /๋ทฐ]
โ ํ
์ด๋ธ ๋ชฉ๋ก ์กฐํ
SELECT ํ
์ด๋ธ๋ช
FROM USER_TABLES;
โก ์์ํ์ผ ์กฐํ ๋ทฐ : USER_RECYCLEBIN
SELECT * FROM USER_RECYCLEBIN;
* OBJECT_NAME : ์์ํ์ผ๋ช
* ORIGINAL_NAME : ์๋ณธํ์ผ๋ช
โข ํ
์ด๋ธ ๋ณต์
FLASHBACK TABLE "์์ํ์ผ๋ช
" TO BEFORE DROP;