μ΄λ² ν¬μ€ν μμλ CREATE TABLE 쿼리λ₯Ό ν΅ν΄ μμ ν μ΄λΈμ μμ±νκ³ primary keyμ foriegn key λ± μ΅μ μ μ€μ νλ μ¬λ¬ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
λ°μ΄ν° μ μμ΄(DDL : Data Definition Language)
ν μ΄λΈμ μμ± λ° λ³κ²½, μμ λ₯Ό λ΄λΉνλ λͺ λ Ήμ΄λ€λ‘,
CREATE, DROP, RENAME, ALTER, TRUNCATE λ±μ΄ μμ΅λλ€.
ν μ΄λΈμ κΈ°λ³Έν€μ μΈλν€λ₯Ό μ€μ νλ λ°©λ²μ μ¬λ¬κ°μ§κ° μλλ°μ,
ν¬κ² 2κ°μ§ μ λλ€.
1. CREATE, μ¦ ν μ΄λΈμ μμ±νλ©΄μ μ€μ νκΈ°.
-> CREATE λͺ λ Ήλ¬Έ λ΄μ μΉΌλΌ μμ΄λ μλμ μ¨μ€λλ€.
2. μ΄λ―Έ μμ±λ ν μ΄λΈμ μ€μ νκΈ°.
-> ALTER λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄μ€λλ€.
κ·ΈλΌ μ§κΈλΆν° ν μ΄λΈμ μ§μ CREATE ν΄λ³΄κ³ , κΈ°λ³Έν€μ μΈλν€λ₯Ό μ ν ν΄λ³΄λλ‘ νκ² μ΅λλ€.
CREATE TABLE κΈ°λ³Έ λ¬Έλ²
CREATE TABLE ν
μ΄λΈλͺ
(
νλλͺ
1 νλνμ
(μλ¦Ώμ),
νλλͺ
2 νλνμ
(μλ¦Ώμ),
...
);
μμ ν μ΄λΈ
- message ν μ΄λΈμ λ©μΈμ§λ₯Ό λ³΄λΈ λ΄μμ μ μ₯νλ ν μ΄λΈμ λλ€.
- msgIdκ° λ©μμ§Idλ‘ λ³΄λΈ λ©μμ§ νλνλλ₯Ό ꡬλΆνλ primary key, toIdκ° λ°λ μ¬λμ Id, sendDateκ° λ³΄λΈ λ μ§, contentsκ° λ³΄λΈ λ©μμ§μ λ΄μ©μ΄λΌκ³ 보면 λκ² μ΅λλ€.
PRIMARY KEY μ€μ νκΈ° (3κ°μ§ λ°©λ²)
1. CREATE TABLE μ€ μΉΌλΌ μμ μ°κΈ°
CREATE TABLE message (
msgId varchar2(10) primary key,
toId varchar2(10) not null,
sendDate date,
contents varchar2(100)
);
컬λΌμ μ μνλ©΄μ primary key μ€μ μ μμ½κ² ν μ μμ΅λλ€.

2. CREATE TABLE μ€ μΉΌλΌλ€ μλμ μ°κΈ°
CREATE TABLE ν
μ΄λΈμ΄λ¦(
νλλͺ
1 νλνμ
(μλ¦Ώμ),
νλλͺ
2 νλνμ
(μλ¦Ώμ),
...,
PRIMARY KEY (νλλͺ
)
);
/*λλ μ μ½μ‘°κ±΄λͺ
μ
ν
νκ³ μΆμ κ²½μ°*/
CREATE TABLE ν
μ΄λΈμ΄λ¦(
νλλͺ
1 νλνμ
(μλ¦Ώμ),
νλλͺ
2 νλνμ
(μλ¦Ώμ),
...,
CONSTRAINT μ μ½μ‘°κ±΄λͺ
PRIMARY KEY (νλλͺ
)
);
3. ν μ΄λΈ μμ± ν, ALTER λͺ λ Ήμ΄λ₯Ό μ΄μ©νμ¬ κΈ°λ³Έν€λ₯Ό μ€μ νκΈ°.
ALTER TABLE ν
μ΄λΈμ΄λ¦
MODIFY ADD νλμ΄λ¦ νλνμ
PRIMARY KEY;
/*λλ μ μ½μ‘°κ±΄λͺ
μ μ
ν
νμ¬ primary key λ±μ μ€μ νκ³ μΆμ κ²½μ°*/
ALTER TABLE ν
μ΄λΈμ΄λ¦
MODIFY CONSTRAINT μ μ½μ‘°κ±΄λͺ
PRIMARY KEY νλμ΄λ¦ νλνμ
;
FOREIGN KEY μ€μ νκΈ° (2κ°μ§ λ°©λ²)
1. CREATE TABLE μ€ μΉΌλΌ μλμ μ°κΈ°
μμ ν μ΄λΈ
- dropMsg ν μ΄λΈμ λ©μΈμ§λ₯Ό μμ ν λ΄μμ μ μ₯νλ ν μ΄λΈμ λλ€.
- μκΉ μμ±ν message ν μ΄λΈμ msgIdλ₯Ό μΈλν€λ‘ κ°μ Έμ΅λλ€.
CREATE TABLE dropMsg (
dropMsgId varchar2(10) PRIMARY KEY,
dropDate date,
msgId varchar2(10),
FOREIGN KEY (msgId) REFERENCES message(msgId)
);

2. CREATE TABLE ν ALTER μ¬μ©νκΈ°
ALTER TABLE ν
μ΄λΈμ΄λ¦
MODIFY [CONSTRAINT μ μ½μ‘°κ±΄μ΄λ¦] FOREIGN KEY (νλλͺ
) REFERENCES ν
μ΄λΈμ΄λ¦ (νλλͺ
);
/*[ ] μμ λ΄μ©μ μ μ½μ‘°κ±΄λͺ
μ μ€μ νκ³ μΆμ λ μμ±*/
μ°Έκ³ μ¬μ΄νΈ : http://www.tcpschool.com/mysql/mysql_constraint_primaryKey
sql create , create primary key, create foreign key, alter primary key, alter foreign key
λκΈ