ํ ์ด๋ธ ๋ง๋ค๊ธฐ
ํ ์ด๋ธ ๋ชฉ๋ก์ด ๋น์ด ์์ผ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ํ ์ด๋ธ์ ๋ง๋ค ์ฐจ๋ก์ ๋๋ค. ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- ์๋จ ๋๊ตฌ ๋ชจ์์ ํ ์ด๋ธ ๋ง๋ค๊ธฐ ๋ฒํผ
- ํ์ง ๋ฉ๋ด
- SQL ์คํฌ๋ฆฝํธ
์ด๋ฒ์๋ ๋ก์ปฌ ๋ฉ๋ด๋ฅผ ์ฌ์ฉํด ๋ด ์๋ค. ํ ์ด๋ธ ํ๋๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๋ฉด ๋ค์ ๊ทธ๋ฆผ์ด ํ์๋ฉ๋๋ค.
![](https://cdn.codegym.cc/images/article/9edf467a-6d52-486e-b848-5e4b792c116d/1024.jpeg)
๋ค์์ผ๋ก ํ ์ด๋ธ ์์ฑ ํจ๋์ด ํ์๋ฉ๋๋ค. ๋ณด๊ธฐ๋ณด๋ค ๋ฌด์ญ์ต๋๋ค.
![](https://cdn.codegym.cc/images/article/5f851b9e-cf16-4b43-acc0-5dffd7ede83c/1024.jpeg)
์ฌ๊ธฐ์๋ 2๊ณณ๋ง ํ์ํฉ๋๋ค.
- ์ ํ๋์ ํ ์ด๋ธ ์ด๋ฆ์ ์ง์ ํ์ญ์์ค.
- ๊ฐ์ด๋ฐ ํ๋์ ์ด ์ด๋ฆ๊ณผ ์ ํ์ ์ง์ ํฉ๋๋ค.
์ค๊ณ: ์ฌ๋ฐ๋ฅธ ์ด ์ด๋ฆ ๋ฐ ์ ํ ์ ํ
์ฌ์ฉ์๋ฅผ ์ ์ฅํ ํ ์ด๋ธ์ ๋ง๋ค์ด ๋ด ์๋ค. Java์์๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ๊ฒ์ ๋๋ค.
class User {
public int userId;
public String name;
public int level;
public Date createdDate;
}
SQL์์ ์ด๋ฌํ ํ ์ด๋ธ์ ์ด๋ป๊ฒ ์์ฑํฉ๋๊น?
๋จผ์ ๋ช ๋ช ๊ท์น์ ์ ์ํด ๋ณด๊ฒ ์ต๋๋ค. Java๋ camelCase๋ฅผ ์ฌ์ฉํ์ง๋ง SQL์ ๋๋ถ๋ถ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์๋ ๋ณดํต ๋ฐ์ค์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ userId๋ user_id ๊ฐ ๋๊ณ createdDate๋ created_date ๊ฐ ๋ฉ๋๋ค .
๋ค์์ผ๋ก ์ ํ์ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. 4๊ฐ์ ์ด์ ํฌํจํ๋ user ๋ผ๋ ํ ์ด๋ธ์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค .
- INT ์ ํ์ ID
- VARCHAR(100) ์ ํ์ ์ด๋ฆ
- INT ์ ํ์ ์์ค
- DATE ์ ํ์ created_date
user_id ๋์ id๋ฅผ ์ผ์ต๋๋ค. ์ด๊ฒ์ด SQL์์ ํ์ฉ๋๋ ๋ฐฉ์์ด๋ฏ๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ์ด๋๊ฐ์์ user ํ ์ด๋ธ์ id ์ด์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ user_id๋ฅผ ์๋๋ค.
๋ํ ์ด๋ฆ ํ๋์ ๋ํด 100์ ์ ํ์ ์ค์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋๊ตฐ๊ฐ๊ฐ ๊ฑฐ๊ธฐ์ ์๋ฐฑ๋ง ๊ฐ์ ๋ฌธ์๋ฅผ ์ ์ฅํ๊ณ ์ฐ๋ฆฌ๋ฅผ ์ํด ๋ฌด์ธ๊ฐ๋ฅผ ๋ถ์๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ์ ๋ขฐ์ฑ์ด ์ ๋ถ์ ๋๋ค.
ํ๋ ์ด๋ฆ ์ง์
์ด์ ์ํ๋ ์ด์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ด์ 4๊ฐ๋ฟ์ ๋๋ค.
![](https://cdn.codegym.cc/images/article/d332caa9-9042-4f7b-81f5-c522a4c86b43/1024.jpeg)
์ผ์ชฝ ์๋จ์ ๋ ์ด์ ์ฃผ์ํ์ญ์์ค.
- ์ด ์ด๋ฆ์ ์ด์ ์ด๋ฆ์ ๋๋ค.
- DataType์ ์ด ์ ํ์ ๋๋ค.
๋ชจ๋ ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ณํํ ๋๋ก์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฆผ์ ์๋์ชฝ ์ ๋ฐ์๋ ์ฌ์ฉ์ ํ ์ด๋ธ์ ์ด์ ์ค๋ช ํ๋ ํ ์ด๋ธ์ ํ์ฌ ํ ์ ๋ํ ์์ธํ ๋์ฝ๋ฉ์ด ํ์๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋ช ํํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ค์ํ! ์ผ๋ถ ์ด์ ๊ฐ์ด ํ์คํ NULL์ด ์๋์ด์ผ ํ๋ค๊ณ ์๊ฐ๋๋ฉด Not Null๋ก ํ์ํด์ผ ํฉ๋๋ค(์ค๋ฅธ์ชฝ ํ๋จ). ์ด ๊ฒฝ์ฐ MySQL ์๋ฒ๋ ์ด๊ฒ์ด ํญ์ ์ฌ์ค์ธ์ง ํ์ธํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ํ ๊ธฐ๋ณธ ํค๋ก ํ์๋ id๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ, ๊ธฐ์ตํ์๊ฒ ์ง๋ง ์ด๊ฒ์ด ๊ณ ์ ํ id ๋ ์ฝ๋์์ ์๋ฏธํฉ๋๋ค.
ํ ์ด๋ธ ์์ฑ์ ์ํ SQL ์ฟผ๋ฆฌ
์ ์ฉ์ ํด๋ฆญํ๋ฉด ๋ฉ์ง SQL ์ฟผ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
![](https://cdn.codegym.cc/images/article/ca6d3cac-74d0-458d-a419-e3d9e21ca2d4/800.jpeg)
์๋ฐ์์ ํด๋์ค๋ฅผ ์ ์ธํ๋ ๊ฒ๊ณผ ๋น์ทํ์ฃ ?
์ ์ฉ์ ํด๋ฆญํ๊ณ ์ฒซ ๋ฒ์งธ ์์ฑ๋ ํ ์ด๋ธ์ ํ์ธํฉ๋๋ค.
![](https://cdn.codegym.cc/images/article/f68464e1-746b-4b31-887f-bc135004dd81/1024.jpeg)
GO TO FULL VERSION