ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/DataBase

[SQL] CREATE

NaNaRin๐Ÿ™ƒ 2021. 3. 11. 17:43

1. CREATE

- ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด, ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด

- ์†Œ์œ  ๊ณ„์ •์€ ์ƒ๋žต ๊ฐ€๋Šฅ. ์ƒ๋žต์‹œ ํ˜„์žฌ ์ ‘์†ํ•ด ์žˆ๋Š” ๊ณ„์ • ์†Œ์œ ์˜ ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋จ

CREATE TABLE [์†Œ์œ  ๊ณ„์ •.]ํ…Œ์ด๋ธ” ์ด๋ฆ„(
	์นผ๋Ÿผ1 ์ด๋ฆ„ ์นผ๋Ÿผ1 ์ž๋ฃŒํ˜•,
    ์นผ๋Ÿผ2 ์ด๋ฆ„ ์นผ๋Ÿผ2 ์ž๋ฃŒํ˜•,
    …
    ์นผ๋ŸผN ์ด๋ฆ„ ์นผ๋ŸผN ์ž๋ฃŒํ˜•
);

- EMP ํ…Œ์ด๋ธ”์„ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

-- 1. ๋ชจ๋“  ์นผ๋Ÿผ์˜ ๊ฐ ์ž๋ฃŒํ˜•์„ ์ •์˜ํ•˜์—ฌ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ
CREATE TABLE EMP_DDL(
	EMPNO		NUMBER(4),
    ENAME		VARCHAR2(10),
    JOB			VARCHAR2(9),
    MGR			NUMBER(4),
    HIREDATE	DATE,
    SAL 		NUMBER(7, 2),
    COMM		NUMBER(7, 2),
    DEPTNO		NUMBER(2)
);

-- 2. ๊ธฐ์กด ํ…Œ์ด๋ธ” ์นผ๋Ÿผ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ
CREATE TABLE EMP_DDL
	AS SELECT * FROM EMP;
    
-- 3. ๊ธฐ์กด ํ…Œ์ด๋ธ” ์นผ๋Ÿผ ๊ตฌ์กฐ์™€ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ
CREATE TABLE EMP_DDL_30
	AS SELECT *
    	 FROM EMP
        WHERE DEPTNO = 30;

-- 4. ๊ธฐ์กด ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ๊ตฌ์กฐ๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ
CREATE TABLE EMPDEPT_DDL
	AS SELECT E.EMPNO, E.ENAME, E.JOB, E.MGR, E.HIREDATE, E.SAL, E.COMM
    	 FROM EMP E
        WHERE 1 <> 1;

  (1) EMP ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์นผ๋Ÿผ์˜ ๊ฐ ์ž๋ฃŒํ˜•์„ ๋‹ค์‹œ ์ •์˜ํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” EMP_DDL ์ƒ์„ฑํ•˜๊ธฐ

  (2) EMP ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” EMP_DDL ์ƒ์„ฑํ•˜๊ธฐ

  (3) EMP ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ๊ตฌ์กฐ์™€ DEPTNO๊ฐ€ 30์ธ ๋ฐ์ดํ„ฐ๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” EMP_DDL ์ƒ์„ฑํ•˜๊ธฐ

  (4) EMP ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ๊ตฌ์กฐ๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ํ…Œ์ด๋ธ” EMP_DDL ์ƒ์„ฑํ•˜๊ธฐ(์กฐ๊ฑด์ ˆ์ด ํ•ญ์ƒ false๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์กฐ๋งŒ ๋ณต์‚ฌ๋จ)

 

2. ์ž๋ฃŒํ˜•

- VARCHAR2(๊ธธ์ด) : 4000byte ๋งŒํผ์˜ ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ(์ตœ์†Œ 1byte)

- NUMBER(์ „์ฒด ์ž๋ฆฌ์ˆ˜, ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜) : ±38์ž๋ฆฌ์ˆ˜์˜ ์ˆซ์ž ๋ฐ์ดํ„ฐ ์ €์žฅ. NUMBER(p, s) ์™€ ๊ฐ™์ด ํ‘œ๊ธฐํ•  ๊ฒฝ์šฐ s์ž๋ฆฌ๋งŒํผ ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ณ , ์ด ์†Œ์ˆ˜์  ์ž๋ฆฌ๋ฅผ ํฌํ•จํ•œ ์ „์ฒด p์ž๋ฆฌ๋งŒํผ ์ˆซ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ

- DATE : ๋‚ ์งœ ํ˜•์‹์„ ์ €์žฅ. ์„ธ๊ธฐ, ์—ฐ, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆ

- CHAR(๊ธธ์ด) : 4000byte ๋งŒํผ์˜ ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ(์ตœ์†Œ 1byte)

- NVARCHAR2(๊ธธ์ด) : 4000byte ๋งŒํผ์˜ ๊ฐ€๋ณ€ ๊ธธ์ด ๊ตญ๊ฐ€๋ณ„ ๋ฌธ์ž ์„ธํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ(์ตœ์†Œ 1byte)

- BLOB : ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ์ด์ง„ ๋ฐ์ดํ„ฐ ์ €์žฅ

- CLOB : ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ €์žฅ

- BFILE : ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ์ด์ง„ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ €์žฅ

 

3. ํ…Œ์ด๋ธ” ์ด๋ฆ„ ์ƒ์„ฑ ๊ทœ์น™

- ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋ฉฐ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค (ํ•œ๊ธ€์€ ๊ฐ€๋Šฅ)

- ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ 30byte ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค (์˜์–ด๋Š” 30๊ธ€์ž, ํ•œ๊ธ€์€ 15๊ธ€์ž๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

- ๊ฐ™์€ ์‚ฌ์šฉ์ž ์†Œ์œ ์˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค

- ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ์˜๋ฌธ์ž, ํ•œ๊ธ€, ์ˆซ์ž(0-9)์™€ ํŠน์ˆ˜ ๋ฌธ์ž $, #, _ ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

- SQL ํ‚ค์›Œ๋“œ๋Š” ํ…Œ์ด๋ธ” ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค

 

4. ์นผ๋Ÿผ ์ด๋ฆ„ ์ƒ์„ฑ ๊ทœ์น™

- ์นผ๋Ÿผ ์ด๋ฆ„์€ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋ฉฐ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค (ํ•œ๊ธ€์€ ๊ฐ€๋Šฅ)

- ์นผ๋Ÿผ ์ด๋ฆ„์€ 30byte ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค (์˜์–ด๋Š” 30๊ธ€์ž, ํ•œ๊ธ€์€ 15๊ธ€์ž๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

- ํ•œ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค

- ์นผ๋Ÿผ ์ด๋ฆ„์€ ์˜๋ฌธ์ž, ํ•œ๊ธ€, ์ˆซ์ž(0-9)์™€ ํŠน์ˆ˜ ๋ฌธ์ž $, #, _ ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

- SQL ํ‚ค์›Œ๋“œ๋Š” ์นผ๋Ÿผ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค