TYPE
์ปฌ๋ผ๋ช
[ํ์
]
[์ ์ํ]
TINYINT | 1 byte |
SMALLINT | 2 byte |
MEDIUNINT | 3 byte |
INT | 4 byte |
BIGINT | 8 byte |
๊ณ ์ ์์์ ํํ๋ฐฉ์
์๋ฆฌ๋ฅผ ๊ณ ์ ํ๋ ํํ๋ฐฉ์
์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ํํ๊ฒ
์ ์ฅํ๋ค.
๋ถ๋์์์ ํํ๋ฐฉ์
FLOAT, DOUBLE
์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ทผ์ฌ๊ฐ
์ผ๋ก ์ ์ฅํ๋ค.
[์ค์ํ]
FLOAT | 4 byte |
DOUBLE | 8 byte |
DECIMAL | ๋ฐ์ดํฐํ์
+ 1 byte |
DECIMAL(precision, scale)
precision : ์ ์ฒด์๋ฆฌ์
scale : ์์๋ถ์ ์๋ฆฌ์
[๋
ผ๋ฆฌํ]
BOOL, 1 byte
[๋ฌธ์์ด]
(1) CHAR
๊ณ ์ ๊ธธ์ด ๋ฐ์ดํฐ, 255 byte
CHAR() | () ์์๋ ์ปฌ๋ผ์ ํฌ๊ธฐ๊ฐ ๋ค์ด๊ฐ๋ค.
(2) VARCHAR
๊ฐ๋ณ๊ธธ์ด ๋ฐ์ดํฐ, 65,535 byte
VARCHAR | () ์์๋ ์ปฌ๋ผ์ ์ต๋ ํฌ๊ธฐ๊ฐ ๋ค์ด๊ฐ๋ค.
(3) TEXT
๋๋์ ํ
์คํธ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ์ฉ๋, ๊ฐ์ ํฌ๊ธฐ์ ๋ฌธ์์ด์ ์ฝ์ ๋ VARCHAR ๋ณด๋ค ๋ง์ด ๋๋ฆฌ๋ค.
TINYTEXT , 255 byte
TEXT , 65535 byte
MEDIUMTEXT , ์ต๋ 16,777,215 byte
LONGTEXT , ์ต๋ 4,294,967,295 byte
[๋ ์ง]
DATE (์ฐ์์ผ)
TIME (์๋ถ์ด)
DATETIME (์ฐ์์ผ์๋ถ์ด)
TIMESTEMP (์ฐ์์ผ์๋ถ์ด)
TIMESTEMP ๋ DB ์๋ฒ์ TIMEZONE ์ ์ฐธ์กฐํ๋ค. ๋ฐ๋ผ์ ๊ธ๋ก๋ฒ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋, ๋๋ ํด์ธ์ ํด๋ผ์ฐ๋ DB ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ TIMESTEMP ๋ฅผ ์ฐ๋๊ฒ ์ข๋ค.
DDL
(1) ํ
์ด๋ธ ์์ฑ ๊ตฌ๋ฌธ
CREATE TABLE [ํ
์ด๋ธ๋ช
] ();
DDL ์ AUTO COMMIT ์ด๋ค.
[๊ทธ ์ธ ๊ตฌ๋ฌธ]
ํ
์ด๋ธ ์ด๋ฆ ๋ณ๊ฒฝ
ALTER TABLE [ํ
์ด๋ธ๋ช
] RENAME TO [์์ ํ ์ด๋ฆ];
์ปฌ๋ผ ์ถ๊ฐ
ALTER TABLE [ํ
์ด๋ธ๋ช
] ADD [์ปฌ๋ผ๋ช
];
์ปฌ๋ผ ์ญ์
ALTER TABLE [ํ
์ด๋ธ๋ช
] DROP [์ปฌ๋ผ๋ช
];
์ปฌ๋ผ ์ด๋ฆ๋ณ๊ฒฝ
ALTER TABLE [ํ
์ด๋ธ๋ช
] RENAME COLUMN [์ปฌ๋ผ๋ช
] TO [์ปฌ๋ผ๋ช
];
์ปฌ๋ผ ๋ณ๊ฒฝ
โข
์ปฌ๋ผ์ ํ์
์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋จ, ํด๋น ์ปฌ๋ผ์ ๊ฐ์ด ํ๋๋ ์์ผ๋ฉด ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
โข
์ปฌ๋ผ์ ํฌ๊ธฐ๋ ์ปฌ๋ผ์ ํฌํจ๋ ๋ฐ์ดํฐ๋ณด๋ค ํฐ ํฌ๊ธฐ๋ก๋ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
โข
์ ์ฝ์กฐ๊ฑด์ ํ์ฌ ๋ฐ์ดํฐ๋ค๊ณผ ์ถฉ๋ํ์ง ์๋ ์ ์ฝ์กฐ๊ฑด๋ง ์ง์ ์ด ๊ฐ๋ฅํ๋ค.
โฆ
๊ธฐ์กด ์ปฌ๋ผ์ NULL ๊ฐ์ด ํ๋๋ผ๋ ์กด์ฌํ๋ฉด NOT NULL ๋ถ๊ฐ๋ฅ
โฆ
๊ธฐ์กด ์ปฌ๋ผ์ ์ค๋ณต๊ฐ์ด ์กด์ฌํ๋ฉด UNIQUE ๋ถ๊ฐ๋ฅ
โฆ
๊ธฐ์กด ์ปฌ๋ผ์ CHECK ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ฉด CHECK ๋ถ๊ฐ๋ฅ
์ปฌ๋ผ ์ญ
(2) ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
๋ฐ์ดํฐ์ ์ ํ์ฑ, ์ผ๊ด์ฑ, ์ ํจ์ฑ์ ์งํค๋ ๊ฒ์ด๋ค. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ์ ์ํด DBMS ์ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ ๊ณตํด์ค๋ค.
[์ ์ฝ์กฐ๊ฑด]
์ ์ฝ์กฐ๊ฑด์ TABLE INSPECTOR โ DDL ์ฐฝ์์ ํ์ธํ๋ค.
์๋ฌ๋ฉ์ธ์ง๋ฅผ ํ์ธ ํ ์ค ์์์ผํ๋ค.
PRIMARY KEY
โข
ํ
์ด๋ธ์ ๋ํํ๋ฉฐ, ํ
์ด๋ธ์ ๊ฐ ํ์ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ปฌ๋ผ์ ์ง์ ํ๋ค.
โข
์ค๋ณต๊ฐ(์ ์ผ์ฑ)๊ณผ NULL(์ต์์ฑ) ์ ํ์ฉํ์ง ์๋๋ค. ๊ธฐ๋ณธํค๋ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ด ๋ฐ๋์ ๋ง์กฑ๋๋ ์ปฌ๋ผ์ ์ง์ ํด์ผ ํ๋ค.
โข
๋ชจ๋ ํ
์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ด ์ข๋ค. ๊ธฐ๋ณธํค๋ฅผ ์ง์ ํ๋ฉด, ๋ด๋ถ์ ์ผ๋ก ๊ณ ์ ์ธ๋ฑ์ค๊ฐ ์์ฑ๋์ด DB ๊ฐ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋ค.
โข
์๋ณ์๋ก ์ฌ์ฉํ ์ ์๋ ์ปฌ๋ผ, ๋๋ ์ปฌ๋ผ์งํฉ ์ํผํค๋ผ๊ณ ๋ถ๋ฅธ๋ค.
โข
์๋ณ์๋ก ์ฌ์ฉํ ์ ์๊ณ ์ต์ํ์ ์ปฌ๋ผ์งํฉ์ ํ๋ณดํค๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํ๋ณดํค ์ค์์ ๊ฐ์ฅ ๋ํ์ฑ์ ์ง๋๋ ์ปฌ๋ผ์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค.
NOT NULL
์ปฌ๋ผ์ NULL ๊ฐ์ ํ์ฉํ์ง ์๋๋ค. ๋ฐ๋ผ์ NULL ๊ฐ์ ๋ฃ์ผ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋๋ค.
CHECK
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ฉ์ธ์ ์ํ ๊ฐ๋ง ์ปฌ๋ผ ์ถ๊ฐ ๊ฐ๋ฅํ๋ค. () ์์ ์กฐ๊ฑด์ ๋ง์ถฐ์ผํ๋ค.
UNIQUE : ์ค๋ณต๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
DEFAULT
INSERT ๋ ์ปฌ๋ผ์ ๋ช
์ํ์ง ์์ผ๋ฉด, DEFAULT ๊ฐ์ ์ธํ
ํ๋ค.
(3) ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ
์์ ์ด ์ฐธ์กฐํ๊ณ ์๋ ํ
์ด๋ธ์ ์กด์ฌํ์ง ์๋ ๊ฐ์ ์ง์ ํ ์ ์๋ค.
์์ ์ ์ฐธ์กฐํ๊ณ ์๋ ํ
์ด๋ธ์ด ์๋ค๋ฉด, ์ฐธ์กฐ๋๊ณ ์๋ ํ์ ์ญ์ ํ ์ ์๋ค.
์์ํ
์ด๋ธ : ์ฐธ์กฐํ๊ณ ์๋ ํ
์ด๋ธ
๋ถ๋ชจํ
์ด๋ธ : ์ฐธ์กฐ๋๊ณ ์๋ ํ
์ด๋ธ
FOREIGN KEY
โข
๋ถ๋ชจํ
์ด๋ธ์ ์ฐธ์กฐํ๋ ํค
โข
๋ถ๋ชจํ
์ด๋ธ์์ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ง์กฑํ๋ ์ปฌ๋ผ์ ์ธ๋ํค๋ก ์ฌ์ฉํด์ผ ํ๋ค.
โข
DELETE ๋ก ์ญ์ ๊ฐ ๋ถ๊ฐ๋ฅ ํ๋ฉฐ, UPDATE ๋ก ์์ ๋ ๋ถ๊ฐ๋ฅํ๋ค.
โข
๋ถ๋ชจํ
์ด๋ธ์ด ์ปฌ๋ผ์ ์กด์ฌํ์ง ์๋ ๊ฐ์ ์์ํ
์ด๋ธ์ ์ธ๋ํค ์ปฌ๋ผ์ ๋ฃ์ ์ ์๋ค.
[์ ์ฝ์กฐ๊ฑด ๋ณ๊ฒฝ]
๊ตฌ๋ฌธ
ALTER TABLE [ํ
์ด๋ธ๋ช
] ADD DROP CONSTRAINT [์ ์ฝ์กฐ๊ฑด๋ช
];
PRIMARY KEY
ALTER TABLE [ํ
์ด๋ธ๋ช
] ADD PRIMARY KEY (์ปฌ๋ผ๋ช
);
ALTER TABLE [ํ
์ด๋ธ๋ช
] DROP PRIMARY KEY;
FOREIGN KEY
์ธ๋ํค ์ ์ฝ ์กฐ๊ฑด์ ๋ํ ์ต์
โข
ON DELETE/UPDATE CASCADE
๋ถ๋ชจํ
์ด๋ธ์์ ์์ํ
์ด๋ธ์ด ์ฐธ์กฐํ๊ณ ์๋ ํ์ด ์ญ์ /์์ ๋ ๊ฒฝ์ฐ, ์์ํ
์ด๋ธ์ ํ๋ ํจ๊ป ์ญ์ /์์ ํ๋ค.
โข
ON DELETE/UPDATE SET NULL
๋ถ๋ชจํ
์ด๋ธ์์ ์์ํ
์ด๋ธ์ด ์ฐธ์กฐํ๊ณ ์๋ ํ์ด ์ญ์ /์์ ๋ ๊ฒฝ์ฐ, ์์ํ
์ด๋ธ์ ์ธ๋ํค๋ฅผ NULL ์ฒ๋ฆฌํ๋ค.
โข
ON DELETE/UPDATE RESTRICT
๋ถ๋ชจํ
์ด๋ธ์์ ์์ํ
์ด๋ธ์ด ์ฐธ์กฐํ๊ณ ์๋ ํ์ ์ญ์ /์์ ํ ์ ์๋ค. (DEFAULT)