SQL - DDL (Data Definition Language)
: ๋ฐ์ดํฐ ์ ์์ด
โช
CREATE
โช
ALTER
โช
DROP
CREATE TABLE - ํ ์ด๋ธ ์์ฑ
ํ ์ด๋ธ ์์ฑ
CREATE TABLE ๊ณ์ .ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
[NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ] [PRIMARY KEY | UNIQUE] ,
์ปฌ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
[NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ] [PRIMARY KEY | UNIQUE] ,
์ปฌ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
[NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ] [PRIMARY KEY | UNIQUE]
);
SQL
๋ณต์ฌ
๊ธฐ์กด ํ ์ด๋ธ์ ์กฐํ(๋ณต์ฌ)ํ์ฌ ํ ์ด๋ธ ์์ฑ
CREATE TABLE ํ
์ด๋ธ๋ช
AS SELECT * FROM ๊ธฐ์กด ํ
์ด๋ธ๋ช
[WHERE ์กฐ๊ฑด];
SQL
๋ณต์ฌ
โข
[WHERE ์กฐ๊ฑด] ์ ํ์์ ์ฌ์ฉ!
ALTER TABLE - ํ ์ด๋ธ ๋ณ๊ฒฝ
ํ ์ด๋ธ์ ์ปฌ๋ผ ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD ์ปฌ๋ผ๋ช
๋ฐ์ดํฐํ์
;
SQL
๋ณต์ฌ
ํ ์ด๋ธ์ ์ปฌ๋ผ๋ช ์ ๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
RENAME COLUMN ๊ธฐ์กด์ปฌ๋ผ๋ช
TO ๋ณ๊ฒฝํ ์ปฌ๋ผ๋ช
;
SQL
๋ณต์ฌ
ํ ์ด๋ธ์ ์ปฌ๋ผ ๋ฐ์ดํฐํ์ ์ ๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY ์ปฌ๋ผ๋ช
๋ณ๊ฒฝํ ๋ฐ์ดํฐํ์
;
SQL
๋ณต์ฌ
ํ ์ด๋ธ์ ์ปฌ๋ผ ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP COLUMN ์ปฌ๋ผ๋ช
;
SQL
๋ณต์ฌ
ํ ์ด๋ธ ์ญ์
ํ ์ด๋ธ ์ญ์
DROP TABLE ํ
์ด๋ธ๋ช
;
SQL
๋ณต์ฌ
โข
์ต์
โฆ
CASCADE CONSTRAINTS : ํ
์ด๋ธ ์ญ์ ์, ์ ์ํ ์ ์ฝ์กฐ๊ฑด๋ ์๋์ผ๋ก ์ญ์
ํ ์ด๋ธ ๋ฐ์ดํฐ ์ญ์
TRUNCATE TABLE ํ
์ด๋ธ๋ช
;
SQL
๋ณต์ฌ
ํ ์ด๋ธ๋ช ๋ณ๊ฒฝ
RENAME ํ
์ด๋ธ๋ช
TO ๋ณ๊ฒฝํ ํ
์ด๋ธ๋ช
;
SQL
๋ณต์ฌ
์ ์ฝ์กฐ๊ฑด
: ํ
์ด๋ธ์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฝํ๋ ์กฐ๊ฑด
โข
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
: ๋ฐ์ดํฐ ์ ํ์ฑ + ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ์ฑ์ง
์ค๋ผํด ์ ์ฝ์กฐ๊ฑด ์ข ๋ฅ
โข
NOT NULL : NULL ์ ์ ์ฅํ ์ ์๋๋ก ํ๋ ์ ์ฝ์กฐ๊ฑด
โข
UNIQUE : ์ ์ผํ ๊ฐ์ ๊ฐ๋๋ก ํ๋ ์ ์ฝ์กฐ๊ฑด (์ค๋ณต๋ถ๊ฐ), NULL ์ ํ์ฉ
โข
PRIMARY KEY : ๊ธฐ๋ณธํค๋ก ์ง์ . UNIQUE + NOT NULL
โข
FOREIGN KEY : ์ฐธ์กฐ ํ
์ด๋ธ์ ์ด์ ์กด์ฌํ๋ ๊ฐ๋ง ์ ์ฅํ ์ ์๋๋ก ์ง์ ํ๋ ์ ์ฝ์กฐ๊ฑด
โข
CHECK : ์ค์ ํ ์กฐ๊ฑด์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ์ ์ฅํ ์ ์๋๋ก ํ๋ ์ ์ฝ์กฐ๊ฑด
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ข ๋ฅ
โข
๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ : ๊ธฐ๋ณธํค๋ ๋ฐ๋์ ์ ์ผํ ๊ฐ, NULL ๋ถ๊ฐ, ์ค๋ณต ๋ถ๊ฐ
โข
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ : ์ธ๋ํค์ ๊ฐ์ด ์ฐธ์กฐ ํ
์ด๋ธ์ ๊ธฐ๋ณธํค์ ๊ฐ์ผ๋ก๋ง ์กด์ฌ. NULL ๊ฐ๋ฅ
โข
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ : ์ง์ ๋ ๊ฐ์ ๋ฒ์ ์์์๋ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
์ ์ฝ์กฐ๊ฑด ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด;
SQL
๋ณต์ฌ
์ ์ฝ์กฐ๊ฑด ์ญ์
ALTER TABLE ํ
์ด๋ธ๋ช
DROP CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
;
SQL
๋ณต์ฌ
์ ์ฝ์กฐ๊ฑด ์ด๋ฆ ๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ๋ช
RENAME CONSTRAINT ๊ธฐ์กด์ด๋ฆ TO ๋ณ๊ฒฝ์ด๋ฆ;
SQL
๋ณต์ฌ
NOT NULL
NOT NULL - ํ ์ด๋ธ ์์ฑ ์, NOT NULL ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
NOT NULL,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
NOT NULL,
...
);
SQL
๋ณต์ฌ
NOT NULL - ํ ์ด๋ธ ์์ฑ ์, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
1,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
2,
...
);
SQL
๋ณต์ฌ
NOT NULL - ํ ์ด๋ธ ์์ฑ ํ, NOT NULL ๋ก ์์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ NOT NULL);
SQL
๋ณต์ฌ
NOT NULL - ํ ์ด๋ธ ์์ฑ ํ, ์ ์ฝ์กฐ๊ฑด ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
);
SQL
๋ณต์ฌ
UNIQUE
UNIQUE - ํ ์ด๋ธ ์์ฑ ์, UNIQUE ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
UNIQUE,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
UNIQUE,
...
);
SQL
๋ณต์ฌ
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
,
...
UNIQUE( ์ปฌ๋ผ1, ์ปฌ๋ผ2, ... )
);
SQL
๋ณต์ฌ
UNIQUE - ํ ์ด๋ธ ์์ฑ ์, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
1,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
2,
...
);
SQL
๋ณต์ฌ
UNIQUE - ํ ์ด๋ธ ์์ฑ ํ, UNIQUE ๋ก ์์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ UNIQUE);
SQL
๋ณต์ฌ
UNIQUE - ํ ์ด๋ธ ์์ฑ ํ, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
);
SQL
๋ณต์ฌ
PRIMARY KEY
PRIMARY KEY - ํ ์ด๋ธ ์์ฑ ์, PRIMARY ํค๋ก ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
PRIMARY KEY,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
PRIMARY KEY,
...
);
SQL
๋ณต์ฌ
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
,
...
PRIMARY KEY( ์ปฌ๋ผ1, ์ปฌ๋ผ2, ... )
);
SQL
๋ณต์ฌ
PRIMARY KEY - ํ ์ด๋ธ ์์ฑ ์, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ถ๊ฐ
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
1,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
2,
...
);
SQL
๋ณต์ฌ
PRIMARY KEY - ํ ์ด๋ธ ์์ฑ ํ, PRIMARY KEY ๋ก ์ง์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ PRIMARY KEY);
SQL
๋ณต์ฌ
PRIMARY KEY - ํ ์ด๋ธ ์์ฑ ํ, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ถ๊ฐ
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
);
SQL
๋ณต์ฌ
FOREIGN KEY
FOREIGN KEY - ํ ์ด๋ธ ์์ฑ ์, FOREIGN KEY ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
REFERENCES ์ฐธ์กฐํ
์ด๋ธ(์ฐธ์กฐ ์ปฌ๋ผ),
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
,
...
);
SQL
๋ณต์ฌ
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
,
...
CONSTRAINT ์ ์ฝ์กฐ๊ฑด FOREIGN KEY (์ธ๋ํค ์ปฌ๋ผ)
REFERENCES ์ฐธ์กฐํ
์ด๋ธ(์ฐธ์กฐ ์ปฌ๋ผ)
);
SQL
๋ณต์ฌ
FOREIGN KEY - ํ ์ด๋ธ ์์ฑ ์, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ1 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
1,
์ปฌ๋ผ2 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
2,
...
);
SQL
๋ณต์ฌ
FOREIGN KEY - ํ ์ด๋ธ ์์ฑ ํ, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
);
SQL
๋ณต์ฌ
CHECK
CHECK - ํ ์ด๋ธ ์์ฑ ์, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
CHECK (์กฐ๊ฑด),
์ปฌ๋ผ๋ช
2 ๋ฐ์ดํฐํ์
,
...
);
SQL
๋ณต์ฌ
CHECK - ํ ์ด๋ธ ์์ฑ ํ, CHECK ์ง์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY (์ปฌ๋ผ CHECK ์กฐ๊ฑด);
SQL
๋ณต์ฌ
CHECK - ํ ์ด๋ธ ์์ฑ ํ, ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ง์
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
CHECK ์กฐ๊ฑด;
SQL
๋ณต์ฌ
DEFAULT
DEFAULT - ํ ์ด๋ธ ์์ฑ ์, DEFAULT ์ง์
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ๋ช
1 ๋ฐ์ดํฐํ์
DEFAULT ๊ธฐ๋ณธ๊ฐ,
์ปฌ๋ผ๋ช
2 ๋ฐ์ดํฐํ์
DEFAULT ๊ธฐ๋ณธ๊ฐ,
...
);
SQL
๋ณต์ฌ