𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°μ΄ν„°λ² μ΄μŠ€/DB] SQL - 1. 데이터 μ •μ˜μ–΄(DDL) 정리 λ³Έλ¬Έ

λ°μ΄ν„°λ² μ΄μŠ€/이둠

[λ°μ΄ν„°λ² μ΄μŠ€/DB] SQL - 1. 데이터 μ •μ˜μ–΄(DDL) 정리

.23 2021. 8. 4. 00:03

κ³΅λΆ€ν•˜λ©° μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. ν‹€λ¦° λ‚΄μš© λ°œκ²¬μ‹œ μ§€μ ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

1. 데이터 μ •μ˜μ–΄(DDL)

데이터 μ •μ˜μ–΄ : ν…Œμ΄λΈ” 생성, λ³€κ²½, 제거 κΈ°λŠ₯ 제곡


1.1 SQL 데이터 μ •μ˜

1.1.1 ν…Œμ΄λΈ” 생성 ; CREATE TABLE

생성할 ν…Œμ΄λΈ”μ„ κ΅¬μ„±ν•˜λŠ” μ†μ„±λ“€μ˜ 이름, 데이터 νƒ€μž… 및 μ œμ•½μ‚¬ν•­μ— λŒ€ν•œ μ •μ˜.

 

ν…Œμ΄λΈ” 생성

CREATE TABLE ν…Œμ΄λΈ”_이름 (
    속성_이름1 INT 	NOT NULL,
    속성_이름2 VARCHAR(20),
    속성_이름3 INT	DEFAULT 0,
    PRIMARY KEY(속성_이름1, ...),
    UNIQUE(속성_이름2),
    FOREIGN KEY (속성_이름3) REFERENCES ν…Œμ΄λΈ”_이름2(속성) [ON DELETE μ˜΅μ…˜][ON UPDATE μ˜΅μ…˜]
    [CONSTRAINT 이름][CHECK(쑰건)]
);

 

1. ν…Œμ΄λΈ”μ„ κ΅¬μ„±ν•˜λŠ” 각 μ†μ„±μ˜ 이름과 데이터 νƒ€μž…(INT, CHAR, VARCHAR, ...), 기본적인 μ œμ•½μ‚¬ν•­ μ •μ˜

2. PRIMARY KEY(κΈ°λ³Έν‚€) : ν…Œμ΄λΈ” λ‹Ή ν•˜λ‚˜λ§Œ 쑴재

3. UNIQUE(λŒ€μ²΄ν‚€) : ν…Œμ΄λΈ”μ— μ—¬λŸ¬κ°œ 쑴재 κ°€λŠ₯

4. FOREIGN KEY(μ™Έλž˜ν‚€) : ν…Œμ΄λΈ”μ— μ—¬λŸ¬κ°œ 쑴재 κ°€λŠ₯, ON DELETE/ON UPDATE둜 μ‚­μ œ, μˆ˜μ •μ‹œ μ²˜λ¦¬λ°©λ²• μ„€μ • κ°€λŠ₯

5. CONSTRAINT / CHECK : 데이터 무결성을 μœ„ν•œ μ œμ•½μ‘°κ±΄ μ„€μ •μœΌλ‘œ, ν…Œμ΄λΈ”μ— μ—¬λŸ¬ 개 쑴재 κ°€λŠ₯

 

데이터 무결성 μ œμ•½μ‘°κ±΄

    - CHECK ν‚€μ›Œλ“œ : νŠΉμ • 속성에 λŒ€ν•œ μ œμ•½μ‘°κ±΄ 지정 κ°€λŠ₯ ➑️ CHECK ν‚€μ›Œλ“œλ‘œ μ§€μ •ν•œ μ œμ•½μ‘°κ±΄ λ§Œμ‘±ν•˜λŠ” νˆ¬ν”Œλ§Œ 쑴재

    - CONSTRAINT ν‚€μ›Œλ“œ : 고유의 이름 λΆ€μ—¬ κ°€λŠ₯ ➑️ μ œμ•½μ‘°κ±΄ μ—¬λŸ¬κ°œ μ§€μ •μ‹œ ν…Œμ΄λΈ” 생성 이후 μ œμ•½μ‘°κ±΄ μˆ˜μ • / μ œκ±°μ‹œ μ‹λ³„ν•˜κΈ° 쉬움

 

1.1.2 ν…Œμ΄λΈ” λ³€κ²½ ; ALTER TABLE

μƒˆλ‘œμš΄ 속성 μΆ”κ°€, κΈ°μ‘΄ 속성 μ‚­μ œ, μƒˆλ‘œμš΄ μ œμ•½ 쑰건 μΆ”κ°€, κΈ°μ‘΄ μ œμ•½ 쑰건 μ‚­μ œ κ°€λŠ₯

 

속성 μΆ”κ°€

ALTER TABLE ν…Œμ΄λΈ”_이름
    ADD 속성_이름 λ°μ΄ν„°νƒ€μž… [NOT NULL] [DEFAULT κΈ°λ³Έκ°’];

 

속성 μ‚­μ œ

ALTER TABLE ν…Œμ΄λΈ”_이름 DROP COLUMN 속성_이름;

 

μ œμ•½μ‘°κ±΄ μΆ”κ°€

ALTER TABLE ν…Œμ΄λΈ”_이름 ADD CONSTRAINT μ œμ•½μ‘°κ±΄_이름 μ œμ•½μ‘°κ±΄_λ‚΄μš©;

 

μ œμ•½μ‘°κ±΄ μ‚­μ œ

ALTER TABLE ν…Œμ΄λΈ”_이름 DROP CONSTRAINT μ œμ•½μ‘°κ±΄_이름;

 

1.1.3 ν…Œμ΄λΈ” μ‚­μ œ ; DROP TABLE

μ‚­μ œν•  ν…Œμ΄λΈ”μ„ μ°Έμ‘°ν•˜λŠ” ν…Œμ΄λΈ”μ΄ μžˆλ‹€λ©΄ μ‚­μ œ μˆ˜ν–‰ X, μ‚­μ œν•˜κ³ μž ν•˜λŠ” ν…Œμ΄λΈ”μ„ μ°Έμ‘°ν•˜λŠ” μ™Έλž˜ν‚€ μ œμ•½μ‘°κ±΄ λ¨Όμ € μ‚­μ œ

 

ν…Œμ΄λΈ” μ‚­μ œ

DROP TABLE ν…Œμ΄λΈ”_이름;
Comments