๐Ÿ“š๊ณต๋ถ€/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ - SQL(DDL, ๋ฐ์ดํ„ฐ ์ •์˜์–ด)

Janger 2022. 8. 13. 17:14
728x90
CREATE SCHEMA

- ์Šคํ‚ค๋งˆ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ)๋ฅผ ์ •์˜ํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

CREATE SCHEMA ์Šคํ‚ค๋งˆ๋ช… AUTHORIZATION ์‚ฌ์šฉ์ž_id;

 

CREATE DOMAIN

๋„๋ฉ”์ธ(ํ•˜๋‚˜์˜ ์†์„ฑ์„ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ผํ•œ ์œ ํ˜•์˜ ์›์ž๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ)์„ ์ •์˜ํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

CREATE DOMAIN ๋„๋ฉ”์ธ๋ช… [AS] ๋ฐ์ดํ„ฐ_ํƒ€์ž…
		[DEFAULT ๊ธฐ๋ณธ๊ฐ’]
        [CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… CHECK (๋ฒ”์œ„๊ฐ’)];

 

CREATE TABLE

ํ…Œ์ด๋ธ”์„ ์ •์˜ํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช…
	(์†์„ฑ๋ช… ๋ฐ์ดํ„ฐ_ํƒ€์ž… [DEFAULT ๊ธฐ๋ณธ๊ฐ’] [NOT NULL],
    	[, PRIMARY KEY(๊ธฐ๋ณธํ‚ค_์†์„ฑ๋ช…)]
        [, UNIQUE(๋Œ€์ฒดํ‚ค_์†์„ฑ๋ช…)]
        [, FOREIGN KEY(์™ธ๋ž˜ํ‚ค_์†์„ฑ๋ช…)] REFERENCES ์ฐธ์กฐํ…Œ์ด๋ธ”(๊ธฐ๋ณธํ‚ค_์†์„ฑ๋ช…)]
        	[ON DELETE ์˜ต์…˜(SET NULL)]
            [ON UPDATE ์˜ต์…˜(CASCADE)]
        [, CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…] [CHECK (์กฐ๊ฑด์‹)]);

 

 

 

CREATE VIEW

๋ทฐ(View)(๊ฐ€์ƒ ํ…Œ์ด๋ธ”)๋ฅผ ์ •์˜ํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

 

์˜ˆ์‹œ) 

CREATE VIEW ์•ˆ์‚ฐ๊ณ ๊ฐ(์„ฑ๋ช…, ์ „ํ™”๋ฒˆํ˜ธ)
	AS SELECT ์„ฑ๋ช…, ์ „ํ™”๋ฒˆํ˜ธ
    FROM ๊ณ ๊ฐ
    WHERE ์ฃผ์†Œ = '์•ˆ์‚ฐ์‹œ';

 

 

CREATE INDEX

์ธ๋ฑ์Šค(๊ฒ€์ƒ‰ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๋ณด์กฐ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ)๋ฅผ ์ •์˜ํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

CREATE [UNIQUE] INDEX ์ธ๋ฑ์Šค๋ช…
	ON ํ…Œ์ด๋ธ”๋ช…(์†์„ฑ๋ช… [ASC | DESC]);

 

 

ALTER TABLE

ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD ์†์„ฑ๋ช… ๋ฐ์ดํ„ฐ_ํƒ€์ž… [DEFAULT '๊ธฐ๋ณธ๊ฐ’'];
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ALTER ์†์„ฑ๋ช… ๋ฐ์ดํ„ฐ_ํƒ€์ž… [SET DEFAULT '๊ธฐ๋ณธ๊ฐ’'];
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP COLUMN ์†์„ฑ๋ช… [CASCADE];

 

 

 

DROP

์Šคํ‚ค๋งˆ, ๋„๋ฉ”์ธ, ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”, ๋ทฐ ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. 

 

DROP SCHEMA ์Šคํ‚ค๋งˆ๋ช… [CASCADE | RESTRICT];
DROP DOMAIN ๋„๋ฉ”์ธ๋ช… [CASCADE | RESTRICT];
DROP TABLE ํ…Œ์ด๋ธ”๋ช… [CASCADE | RESTRICT];
DROP VIEW ๋ทฐ๋ช… [CASCADE | RESTRICT];
DROP INDEX ์ธ๋ฑ์Šค๋ช… [CASCADE | RESTRICT];
DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

- CASCADE: ์ œ๊ฑฐํ•  ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐœ์ฒด๋ฅผ ํ•จ๊ป˜ ์ œ๊ฑฐํ•œ๋‹ค. 

- RESTRICT: ๋‹ค๋ฅธ ๊ฐœ์ฒด๊ฐ€ ์ œ๊ฑฐํ•  ์š”์†Œ๋ฅผ ์ฐธ์กฐ์ค‘์ผ ๋•Œ๋Š” ์ œ๊ฑฐ๋ฅผ ์ทจ์†Œํ•œ๋‹ค. 

728x90