DBMS์ ์ ์
DataBase Managemaent System
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์ด์ํ๋ ์ํํธ์จ์ด
๋ฐ์ดํฐ์ ์ค์๊ฐ์ผ๋ก ์ ๊ทผ ๋ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํจ
์๋ก์ด ๋ฐ์ดํฐ์ ์ฝ์
, ์ญ์ , ๊ฐฑ์ ์ผ๋ก ํญ์ ์ต์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํจ
์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ์ ์์ด์ผ ํจ
๋ฐ์ดํฐ ์ฃผ์๋ ์์น์ ์ํด์๊ฐ ์๋๋ผ ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๋ฐ์ดํฐ ๋ด์ฉ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐพ์
DBMS์ ์ข ๋ฅ
Oracle, MySQL์ด ์๋์
๊ด๊ณํ DBMS(Relational DBMS)
ํ
์ด๋ธ(Table) = ๊ด๊ณ(Relation)
๋๋ฅผ ์ ์ํ ์ ์๋ ๋ฐ์ดํฐ๋ ๋ฌด์ํ ๋ง๋ค. ํค, ์ง์ญ, ์ธ์ข , ๋ฑ๋ฑ.. ๊ทธ ์ค์์ ์ด๋ฆ, ์์ด๋ ๋ ๊ฐ์ง๋ง ์์ง์ ํ๊ฒ ๋ค.
์ฌ๋์ด๋ผ๋ ๊ฐ์ฒด์์ ๊ทธ ์ด๋ฆ๊ณผ ์์ด๋๋ผ๋ ๋ ๊ฐ์ง๋ฅผ ์์ง์ ํ๊ฒ ๋ค. ๊ทธ๊ฒ์ ์์ฑ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
MySQL ์ค์น
์ธ์ฆ ๋ฐฉ๋ฒ ๊ณ ๋ฅด๊ธฐ
๋น๋ฐ๋ฒํธ ์ค์
์๊น ์ ์ ์ ๋ ฅํ๋ ๋น๋ฐ๋ฒํธ
์ฒดํฌํด์ ํ๊ณ finish
์ค์น์๋ฃ!!
๐กdatagrip์ด๋ผ๋ ๊ฒ์ ์ฐ๋ฉด ์ข๋ค.
์๋์์ฑ ๊ธฐ๋ฅ์ด ์์ฃผ ๊ฐ๋ ฅํ๋ค.
join ๊ฐ์ ๊ฑฐ ํ ๋ ์ข๊ณ ์คํ์๋๋ ๋น ๋ฅด๋ค.
DataGrip: The Cross-Platform IDE for Databases & SQL by JetBrains
๊ทธ๋ฌ๋ ์ ๋ฃ....
๊ทธ๋์ ์ฐ๋ฆฌ๋ DBeaver๋ฅผ ์ค์นํ ๊ฒ์ด๋ค.
DBeaver ์ค์น ๋ฐ MySQL๊ณผ ์ฐ๊ฒฐ
DBeaver Community | Free Universal Database Tool
๊ฐ์ ์ด์์ฒด์ ์ ๋ง๋ ๊ฒ ์ค์น
ํ๊ตญ์ด๋ก,
Include Java
์ด์ ๋๋น๋ฒ๋ก My SQL ์ ์
sample database no
MySQL ์ ํ
๋น๋ฐ ๋ฒํธ ๋ฃ๊ณ
์ผ์ชฝ ํ๋จ test connection
์ฐ๊ฒฐ๋จ
์๋ฃ
DBeaver ์ค์ต
ํ์ผ > ๋ค์ ์ด๋ฆ ์ง์ ๋ ํ์ผ ์ฐพ๊ธฐ > ์ํ๋ ํ์ผ์ ๋ถ๋ฌ์ด
์ปจํธ๋กค + A , ์ํธ + X
์ฐฝ์ด ์ด๋ ๊ฒ ์ ๋ ฌ ๋์๋ค.
์๋ก ๊ณ ์นจ
market_db ์์ฑ
์ค๋ช
SQL ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ก์ด script๊ฐ ์ด๋ฆฐ๋ค.
DB ๋ฐ์ดํฐ ์กฐํ๋ฐฉ๋ฒ
SELECT๋ฌธ
**DB๋ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค!!
SELECT๋ฌธ์ ๊ธฐ๋ณธ ํ์
select (์ด ์ด๋ฆ)
from (ํ ์ด๋ธ ์ด๋ฆ)
where (์กฐ๊ฑด์)
group by (์ด ์ด๋ฆ)
having (์กฐ๊ฑด์)
order by (์ด ์ด๋ฆ)
limit ์ซ์; << ;์ด ๊ผญ ๋ค์ด๊ฐ์ผ ํจ
์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ง์
use (๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ);
use market_db;
SELECT ~ FROM ~
select ์ ๊ตฌ์กฐ
select * from member;
-- select : ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ ์์ฝ์ด
-- * asterisk. ์ผ๋ฐ์ ์ผ๋ก "๋ชจ๋ ๊ฒ"์ ์๋ฏธํจ. ์ ์์์์๋ ์ด ์ด๋ฆ์ด ๋ค์ด๊ฐ ์๋ฆฌ์ ์ฌ์ฉ๋์ด "๋ชจ๋ ์ด"์ ๋ปํจ]
-- member : ์กฐํํ ํ ์ด๋ธ ์ด๋ฆ
-- > member ํ ์ด๋ธ์์ ๋ชจ๋ ์ด์ ๋ด์ฉ์ ๊ฐ์ ธ์๋ผ
-- ์์น์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค.ํ ์ด๋ธ์ ํ์์ผ๋ก ํํํด์ผ ํจ
select * from market_db.member;
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๊ฒ ์ชผ๊ฐ์ ์ฐ๋ํ๋ค.
ํ์ํ ์ด๋ง ๊ฐ์ ธ์ค๊ธฐ
select mem_name from member;
์ฌ๋ฌ ์ด์ ๊ฐ์ ธ์ค๊ณ ์ถ์ผ๋ฉด ์ฝค๋ง๋ก ์ฐ๊ฒฐ
-- ๊ธฐ์กด ํ ์ด๋ธ์ ์ด ์์๋ ๊ด๊ณ ์์ด ๋ณด๊ณ ์ถ์ ์์๋๋ก ์ด์ ๋์ด
select addr, debut_date, mem_name from member;
์ด ์ด๋ฆ์ ๋ณ์นญ ์ง์
-- ์ด ์ด๋ฆ ๋ค์์ ์ง์ ํ๊ณ ์ถ์ ๋ณ์นญ ์ ๋ ฅ
-- ๋ณ์นญ์ ๊ณต๋ฐฑ์ด ํฌํจ๋์ด ์๋ค๋ฉด ๋ฐ์ดํ๋ก ๋ฌถ์
select addr ์ฃผ์, debut_date "๋ฐ๋ท ์ผ์", mem_name from member;
select ~ from ~ where ~
ํน์ ์กฐ๊ฑด๋ง ์กฐํํ๊ธฐ
-- ๋ถํ ๋ฌธ์ ๋๋ฌธ์ ์ค๋ฌด์์๋ ๋ณดํต where๋ฅผ ํจ๊ป ์ฌ์ฉํ๊ฑฐ๋ limit์ ์ฌ์ฉํจ
๊ธฐ๋ณธ์ ์ธ where์ ๊ตฌ์กฐ
select (์ด ์ด๋ฆ) from (ํ ์ด๋ธ ์ด๋ฆ) where ์กฐ๊ฑด์;
select * from member where mem_name = '๋ธ๋ํํฌ';
select * from member where mem_number = 4;
ํ ์ด๋ธ์์ ์ผ์ผ์ด True or False๋ฅผ ๋์กฐํจ
๊ด๊ณ ์ฐ์ฐ์, ๋ ผ๋ฆฌ ์ฐ์ฐ์
-- ์ซ์๋ก ํํ๋ ๋ฐ์ดํฐ๋ผ๋ฉด ๋ฒ์๋ฅผ ์ง์ ํ ์ ์์
select mem_id, mem_name, height from member where height <= 162;
-- ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ์ฌ๋ฌ ์กฐ๊ฑด์ ๋ง์กฑํ๋๋ก ํ ์๋ ์์
select mem_name, height, mem_number from member where height >= 165 and mem_number > 6;
select mem_name, height, mem_number from member where height >= 165 or mem_number > 6;
ํน์ ๋ฒ์์ ์๋ ๊ฐ์ ๊ตฌํ๋ ๊ฒฝ์ฐ
select mem_name, height from member where 163 <= height and height <=165; <<๋ถํธ
select mem_name, height from member where height between 163 and 165;
-- in
select mem_name, addr from member where addr = '๊ฒฝ๊ธฐ' or addr = '์ ๋จ' or addr ='๊ฒฝ๋จ'; << ๊ฐ๋ ์ฑ ๋จ์ด์ง๊ณ ์ ์ง ๋ณด์๋ ๋จ์ด์ ธ์ ๋ด์ฉ์ ์ถ๊ฐํ๊ณ ๋นผ๋ ๊ฒ ํ๋ฆ!!
select mem_name, addr from member where addr in ('๊ฒฝ๊ธฐ', '์ ๋จ', '๊ฒฝ๋จ');
๋ฌธ์์ด ์ผ๋ถ ๊ฒ์
select * from member where mem_name like '์ฐ%';
์ฐ๋ก ์์ํ๊ธฐ๋ง ํ๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ์กฐํํ๋ค!! 0๊ฐ๊ฐ ์๋ ์๊ด ์์!!
์ฐ๋ก ๋๋๋ ค๋ฉด
select * from member where mem_name like '%์ฐ';
์ด๋ค.
select * from member where mem_name like '%์ฐ%';
์ฐ๊ฐ ๋ค์ด๊ฐ๋ ๋จ์ด
select * from member where mem_name like '%์ด%';
๊ธ์ ์ ๋งค์น
select * from member where mem_name like '__ํํฌ';
์ธ๋๋ฐ 2๊ฐ. ๋ฌด์ธ๊ฐ๊ฐ 2 ์นธ ์ค๊ณ , ๊ทธ๋ฐ ๋ค์์ ํํฌ๊ฐ ์ค๋ ๋จ์ด๋ฅผ ์ฐพ์ ์ฃผ์ธ์.
select * from member where mem_name like '__ํํฌ_';๋ ๊ฒ์ ์๋๊ณ ,
select * from member where mem_name like '__ํํฌ%';๋ ์์ดํํฌ ๋ธ๋ํํฌ๊ฐ ๋์ด.
์ปจํธ๋กค s๋ก ์ ์ฅ,
Open Folder in Explorer ํ๋ฉด ์ ์ฅ๋์ด ์๋ค.
์ค๋ ์ค์ต ๋!!