โป ์ด ๊ธ์ ์ฝ๋ํ๋ ์ ์ฒดํ๋จ ํ๋์ ํ๋ฉด์ ๋ง๋ค์ด์ก์ต๋๋ค.
โป ์ฒ์ ์์ํ๋ SQL ํ๋ก๊ทธ๋๋ฐ ๊ฐ์์
๋๋ค.
โป ์ฝ๋ํ๋ ์ ๋ฐ๋ก๊ฐ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์ธ๊ฐ?
- ๋ฐ์ดํฐ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
- ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก, ํตํฉ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ
- ์๋ฃ์ ์ค๋ณต์ ์์ ๊ณ ์๋ฃ๋ฅผ ๊ตฌ์กฐํํ์ฌ ์ ์ฅํจ์ผ๋ก ์๋ฃ์ ๊ฒ์๊ณผ ๊ฐฑ์ ์ ํจ์จ์ ๋์ธ๋ค.
DBMS
- Database Management System
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ
- DBMS์ ์ข
๋ฅ
- RDBMS(Relational DBMS)
- NoSQL(RDBMS ์๋๊ฒ ์ ๋ถ)
SQL์๊ฐ
SQL์ด๋ ๋ฌด์์ธ๊ฐ?
- Strucured Query Language
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ์ธ์ด
- ์ธ๊ฐ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ์ ์ธ์ด
- SQL์ ๋ฌธ๋ฒ์ด ๋จ์ํ์ฌ ๋ฐฐ์ฐ๊ธฐ ์ฌ์
- SQL์ ANSI,ISO ํ์ค
- ๊ฐ DBMS๋ง๋ค ์์ ๋ง์ ๋ฐฉ์ธ์ ๊ฐ์ง
- ํต์ฌ ๋ฌธ๋ฒ์ ์ ์ฌํจ
MySQL์ด๋?
MySQL์ด๋?
- ์คํ์์ค RDBMS
- ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ RDBMS์ค ํ๋
- ํ์ด์ค๋ถ ์ด๊ธฐ ์๋น์ค๋ฅผ MySQL๋ก ๊ตฌ์ถ
MySQL๊ตฌ์กฐ
Workbench์ ํ์ฉ๋ฒ
MySQL Workbench
- MySQL์ ๋ค๋ฃจ๊ธฐ ์ํ ๋๊ตฌ
- SQL ์์ฑ/์คํ/๊ฒฐ๊ณผ ์กฐํ ๊ฐ๋ฅ
- CSV ํ์ผ export,import ๊ฐ๋ฅ
- ๊ทธ์ธ MySQL๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ฑ์์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฃผ์ ๊ตฌ์ฑ ์์
- Schema - application ๋ง๋ค ์ต์ 1๊ฐ
- Table - ๊ฐ application์ ์ธ๋ถ ๊ธฐ๋ฅ ๋ง๋ค ์ ์
- Column - ๊ฐ ๊ธฐ๋ฅ์ ํ์ํ ์์๋ค
- Row - ๋ฐ์ดํฐ 1๊ฑด
MySQL์ ๋ฐ์ดํฐ ํ์
์ฃผ์ ๋ฐ์ดํฐ ํ์
- ๋ฐ์ดํฐ ํ์
: ์ปฌ๋ผ์ ์ด๋ ํ ํํ์ ์๋ฃ๋ฅด ์ ์ฅํ ์ง ๋ฏธ๋ฆฌ ๊ฒฐ์ ํ๊ฒ
- ์ซ์(Numeric) : ์ ์ํ, ์ค์ํ
- ๋ฌธ์(Character) : ๊ณ ์ ๋ฌธ์ํ, ๋ณ๋ ๋ฌธ์ํ
- ๋ ์ง/์๊ฐ(Date/Time) : ๋ ์งํ, ์๊ฐํ, ๋ ์ง์๊ฐํ
์ฃผ์ ๋ฐ์ดํฐ ํ์
์ ์
- ์ซ์(Numeric) : ๋์ด, ์ ์, ๊ฐ๊ฒฉ ๋ฑ
- ๋ฌธ์(Character) : ์ด๋ฆ, ์ฑ๋ณ, ์ํ๋ช
๋ฑ
- ๋ ์ง/์๊ฐ(Date/Time) : ์ ์ฅํ๋ ์์ ์ ๋ ์ง์๊ฐ, ์์ ํ๋ ์์ ์ ๋ ์ง์๊ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค Schema ์์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค Table ์์ฑ
- ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ
- ๋๋ฒ์งธ ๋ฐฉ๋ฒ
ํ
์ด๋ธ ์์ฑ
- PK : ํ
์ด๋ธ๋น 1๊ฐ๋ง ์กด์ฌ๊ฐ๋ฅ, Uniqueํ ๊ฐ(NNํ์)
- NN : Not Null, ๋ฐ์ดํฐ๊ฐ ๋ฐ๋์ ์ ์ฅ๋์ด์ผ ํจ
- UQ : Unique ํ ๊ฐ(Null๊ฐ๋ฅ)
- UN : Unsigned
- AI : Auto lncrement
- Default : ๋ํดํธ ๊ฐ
INSERT ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ถ๊ฐ
INSERT INTO
- ๊ธฐ์กด ํ
์ด๋ธ์ row ์ถ๊ฐ
SELECT ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์กฐํ
๋ฐ์ดํฐ ์กฐํ
- SELECT ๋ฌธ์ ์ด์ฉํ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํ
- column1,column2,...์๋ ์กฐํ๋ฅผ ์ํ๋ ์ปฌ๋ผ๋ช
์ ๊ธฐ์ฌ
๋ฐ์ดํฐ ์กฐํ - ์ ์ฒด ์ปฌ๋ผ ์กฐํ
- SELECT ๋ฌธ์ Asterisk๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ์ปฌ๋ผ ์กฐํ ๊ฐ๋ฅ
WHERE ์ ์ ์ด์ฉํ ๋ฐ์ดํฐ ํํฐ๋ง
๋ฐ์ดํฐ ํํฐ๋ง
-
where ์ ์ ์ด์ฉํ์ฌ ์ํ๋ ์กฐ๊ฑด์ผ๋ก ๋ฐ์ดํฐ(row)๋ฅผ ํํฐ๋ง
-
where ์ ๋ค์์ ์ํ๋ ์กฐ๊ฑด์ ๋ช
์
-
where ์ ์ select ๋ฌธ ์ธ์ update,delete๋ฌธ์์๋ ์ฌ์ฉ๊ฐ๋ฅ
-
Customers ํ
์ด๋ธ์์ cust_state ๊ฐ 'MI'์ธ ๋ฐ์ดํฐ๋ฅผ ์กฐํ
๋น๊ต์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ํํฐ๋ง
๋น๊ต์ฐ์ฐ์(Comparison Operator)
- ๊ฐ์ : =
- ๊ฐ์ง ์์ : <>
- ํผ : >
- ์์ : <
- ํฌ๊ฑฐ๋ ๊ฐ์ : >=
- ์๊ฑฐ๋ ๊ฐ์ : <=
AND์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ํํฐ๋ง
์กฐ๊ฑด์ ๊ฒฐํฉ - AND/OR ์ฐ์ฐ์
- ํ๋ ์ด์์ ์กฐ๊ฑด๋ค์ ๊ฒฐํฉํ์ฌ ํํฐ๋ง ๊ฐ๋ฅ
- AND ์ฐ์ฐ์ : ์ฃผ์ด์ง ๋ชจ๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑ์ํค๋ ๋ฐ์ดํฐ๋ง ์กฐํ
- OR ์ฐ์ฐ์ : ์ฃผ์ด์ง ์กฐ๊ฑด์ค ํ๋ ์ด์ ๋ง์กฑ ์ํค๋ ๋ฐ์ดํฐ
AND ์ฐ์ฐ์
- ์ฃผ์ด์ง ๋ชจ๋ ์กฐ๊ฑด์ ๋ค ๋ง์กฑ์ํค๋ ๋ฐ์ดํฐ
- ์ด๋ฆ์ด Fun4All ์ด๋ฉด์ IN์ฃผ์ ๊ฑฐ์ฃผํ๋ ๊ณ ๊ฐ ์กฐํ
OR ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ํํฐ๋ง
OR ์ฐ์ฐ์
- ์ฃผ์ด์ง ์กฐ๊ฑด์ค ํ๋๋ผ๋ ๋ง์กฑ์ํค๋ ๋ฐ์ดํฐ ์กฐํ
- MI์ฃผ์ ๊ฑฐ์ฃผํ๊ฑฐ๋ OH์ฃผ์ ๊ฑฐ์ฃผํ๋ ๊ณ ๊ฐ ์กฐํ