728x90
๋ฐ์ํ
DDL
- ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ์ธ์ด
- DDL ๋์
- ์คํค๋ง : DBMS ํน์ฑ๊ณผ ๊ตฌํํ๊ฒฝ์ ๊ฐ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ง๊ด์ ์ผ๋ก ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ดํด ๊ฐ๋ฅ
- ๋๋ฉ์ธ(์์ฑ) : ์์ฑ์ ๋ฐ์ดํฐ ํ์ ๊ณผ ํฌ๊ธฐ, ์ ์ฝ ์กฐ๊ฑด ๋ฑ์ ์ง์ ํ ์ ๋ณด, ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ๋ฒ์๋ก ์ดํด ๊ฐ๋ฅ
- ํ ์ด๋ธ : ๋ฐ์ดํฐ ์ ์ฅ๊ณต๊ฐ
- ๋ทฐ : ํ๋ ์ด์์ ๋ฌผ๋ฆฌ ํ ์ด๋ธ์์ ์ ๋๋๋ ๊ฐ์์ ๋ ผ๋ฆฌ ํ ์ด๋ธ
- ์ธ๋ฑ์ค : ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- DDL ์กฐ์
- CREATE : ์์ฑ
- create table ํ ์ด๋ธ ์ด๋ฆ
- ๋ค๋ฅธ ํ ์ด๋ธ ์ ๋ณด๋ฅผ ์ด์ฉํ ํ ์ด๋ธ ์์ฑ : create table ํ ์ด๋ธ ์ด๋ฆ as select ๋ฌธ
- ALTER : ๋ณ๊ฒฝ
- ์ด ์ถ๊ฐ : alter table ํ ์ด๋ธ ์ด๋ฆ add ์ด์ด๋ฆ ๋ฐ์ดํฐํ์
- ์ด ๋ฐ์ดํฐ ํ์ ๋ณ๊ฒฝ : alter table ํ ์ด๋ธ ์ด๋ฆ modify ์ด์ด๋ฆ ๋ฐ์ดํฐ ํ์
- ์ด ์ญ์ : atler table ํ ์ด๋ธ ์ด๋ฆ drop ์ด ์ด๋ฆ
- ํ ์ด๋ธ ์ด๋ฆ ๋ณ๊ฒฝ : rename table ์ด์ ํ ์ด๋ธ ์ด๋ฆ to ์๋ก์ด ํ ์ด๋ธ ์ด๋ฆ / alter table ์ด์ ํ ์ด๋ธ ์ด๋ฆ rename ์๋ก์ด ํ ์ด๋ธ ์ด๋ฆ
- DROP : ์ญ์
- ํ ์ด๋ธ ์ญ์ : drop table ํ ์ด๋ธ ์ด๋ฆ
- TRUNCATE : ํ
์ด๋ธ ์ด๊ธฐํ
- ํ ์ด๋ธ ๋ด์ฉ ์ญ์ : truncate table ํ ์ด๋ธ ์ด๋ฆ
- CREATE : ์์ฑ
- ์ ์ฝ ์กฐ๊ฑด
- primary key : ๊ธฐ๋ณธํค, NOT NULL, UNIQUE ์ ์ฝ์ด ํฌํจ ๋จ
- foreign key : ์ธ๋ํค, ์ฐธ์กฐ ๋์์ ํ ์ด๋ธ์ด๋ฆ์ผ๋ก ๋ช ์ํด์ผ ํจ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์๋ฐฐ ์ํฉ ๋ฐ์ ์ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ผ๋ก ์ต์ ์ง์ ๊ฐ๋ฅ
- unique : ํ ์ด๋ธ ๋ด์์ ์ด์ ์ ์ผํ ๊ฐ์ ๊ฐ์ ธ์ผ ํจ, ๋์ผํ ๊ฐ์ ๊ฐ์ ธ์๋ ์ ๋๋ ํญ๋ชฉ์ ์ง์ ํจ
- not null : ์ด์ ๊ฐ์ null์ผ ์ ์์, ํ์ ์ ๋ ฅ ํญ๋ชฉ์ ๋ํด ์ ์ฝ์กฐ๊ฑด์ผ๋ก ์ค์ ํจ
- check : ๊ฐ๋ฐ์๊ฐ ์ ์ํ๋ ์ ์ฝ ์กฐ๊ฑด, ์ํฉ์ ๋ฐ๋ผ ์ค์ ๊ฐ๋ฅ
DML
- ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ช ๋ น์ด
- DML ์กฐ์
- INSERT : ๋ฐ์ดํฐ ์์ฑ
- insert into ํ ์ด๋ธ ์ด๋ฆ(column1, cloumn2, ...) values (value1, value2, ...);
- insert into ํ ์ด๋ธ ์ด๋ฆ values(value1, value2, ...)
- SELECT : ๋ฐ์ดํฐ ์กฐํ
- select [option] columns from table [where์ ];
- option : all (์ค๋ณต ํฌํจ ์กฐํ ๊ฒฐ๊ณผ ์ถ๋ ฅ), distinct(์ค๋ณต ์ ๊ฑฐํ ์กฐํ ๊ฒฐ๊ณผ ์ถ๋ ฅ)
- columns : ์ปฌ๋ผ๋ช ๋ชฉ๋ก(์กฐํํ ์ปฌ๋ผ๋ช ์ง์ ), ์์ด๋์นด๋(์ ์ฒด๋ฅผ ์๋ฏธํ๋ *)
- UPDATE : ๋ฐ์ดํฐ ๋ณ๊ฒฝ
- update table set column1 = value1, coumn2 = value2, ... [where ์ ];
- DELETE : ๋ฐ์ดํฐ ์ญ์
- delete from table [where ์ ];
- INSERT : ๋ฐ์ดํฐ ์์ฑ
DCL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ด์ธ์ ์ค๋ธ์ ํธ์ ๋ํด ์กฐ์ํ ํ์๊ฐ ์์
- DCL ์กฐ์ ๋์
- ์ฌ์ฉ์ ๊ถํ : ์ ๊ทผ ํต์
- ํธ๋์ญ์ : ์์ ํ ๊ฑฐ๋ ๋ณด์ฅ
- ํธ๋์ ์ ์ ์ด๋ฅผ ์ํ ๋ช ๋ น์ด TCL์ด ์์
- TCL๊ณผ DCL์ ๋์์ด ๋ฌ๋ผ ์๋ก ๋ณ๊ฐ์ ๊ฐ๋
์ผ๋ก ๋ถ๋ฅ, ์ ์ด๊ธฐ๋ฅ์ด ๊ณตํต์ ์ผ๋ก DCL์ ์ผ๋ถ๋ก ๋ถ๋ฅํ๊ธฐ๋ ํจ
- DCL : GRANT(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ๊ถํ ๋ถ์ฌ), REVOKE(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ๊ถํ ํ์)
- TCL : COMMIT(ํธ๋์ญ์
ํ์ ), ROLLBACK(ํธ๋์ญ์
์ทจ์), CHECKPOINT(๋ณต๊ท์์ ์ค์ )
- ํธ๋์ญ์ ์ ๋ ผ๋ฆฌ์ ์ฐ์ฐ ๋จ์
- ํ ๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐ์
- ํ๋ ์ด์์ SQL ๋ฌธ์ฅ์ด ํฌํจ
- ํธ๋์ญ์ ์ '๊ฑฐ๋'๋ค
- ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋ ๋ชจ๋ ์ทจ์ ๋์ด์ผํจ
- ๋ถํ ํ ์ ์๋ ์ต์ ๋จ์
- ๋ฐ์ดํธ๋ฒ ์ด์ค ๋ณด์์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผ ํต์ ๋ฐฉ๋ฒ์ ์ฌ์ฉ
- ์์ ์ ๊ทผ ํต์ (DAC)
- ๊ฐ์ ์ ๊ทผ ํต์ (MAC)
- ํธ๋์ ์
์ ํน์ฑ
- ์์์ฑ
- ์ผ๊ด์ฑ
- ๊ณ ๋ฆฝ์ฑ
- ์ง์์ฑ
๋ฐ์ดํฐ ์ฌ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์ ๋ณด๊ฐ ์์
- ์ฌ์ ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ถํ์ ์์คํ ์ด ๊ฐ์ง๋ฉฐ, ์ฌ์ฉ์์๊ฒ๋ ์ฝ๊ธฐ ์ ์ฉ ํ ์ด๋ธ ํํ๋ก ์ ๊ณต๋๋ฏ๋ก ๋จ์ ์กฐํ๋ง ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฉํ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ
- ๋ฐ์ดํฐ ์ฌ์ ๋ด์ฉ
- ์ฌ์ฉ์ ์ ๋ณด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์ ๋ณด
- ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์ ๋ณด
- ํจ์, ํ๋ก์์ ๋ฐ ํธ๋ฆฌ๊ฑฐ
- ๋ฐ์ดํฐ ์ฌ์ ์ฉ๋
- ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ์ฌ์ ์ ๋จ์ ์กฐํ์ ๋์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ์ด๋ฃจ๋ ์ปดํ์ผ๋ฌ, ์ตํฐ๋ง์ด์ ๋ฑ๊ณผ ๊ฐ์ ๊ตฌ์ฑ ์์์ ๋ฐ์ดํฐ ์ฌ์ ์ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํ ์ฐธ์กฐ ์ ๋ณด์ผ ๋ฟ๋ง ์๋๋ผ ์์ ์ ๋์์ด๊ธฐ๋ ํจ
- ์ค๋ผํด
- DBA_ > ALL_ > USER_
- DBA_ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ
- ALL_ : ์์ ์ ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ํ ๊ณ์ ์ ์ ๊ทผ ๊ถํ์ ๊ฐ์ง ๋ชจ๋ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ
- USER_ : ํ์ฌ ์์ ์ ๊ณ์ ์ด ์์ ํ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ
- My SQL
- Information_schema๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์กด์ฌ
- use Information_schema; - ์ด๋
- show tables; - ํ ์ด๋ธ ๋ชฉ๋ก ๋ณด๊ธฐ
SQL
- ์ฉ์ด : ๊ตฌ์กฐ์ ์ง์ ์ธ์ด
- ์ฉ๋ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐ์ ์ธ์ด
- ํ์ : ISO/ANSI ํ์ค์ผ๋ก ์ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
- ์ ์ฅ ๋ฐ์ดํฐ
- ํตํฉ ๋ฐ์ดํฐ
- ๊ณต์ ๋ฐ์ดํฐ
- ์ด์ ๋ฐ์ดํฐ
- DBMS
- ๋์ฉ๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค๋ก ๊ตฌ์ฑ
- ์ธ์คํด์ค
- ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ
์ธ๋ฑ์ค
- ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ ์๋จ
- ํ ์ด๋ธ์ ๋ํ ์กฐํ ์๋๋ฅผ ๋์ฌ ์ฃผ๋ ์๋ฃ๊ตฌ์กฐ
- pk์ปฌ๋ผ์ pk๋ฅผ ์์ฑํ ๋ ์๋์ผ๋ก ์ธ๋ฑ์ค๊ฐ ์์ฑ
- DBMS๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅธ ๊ฒ์์ ์ํํจ
- ์ธ๋ฑ์ค ์์ฑ
- create [unique] index <index_name> on <table_name>(<column(s)>);
- ์ธ๋ฑ์ค ์ญ์
- drop index <index_name>;
- ์ธ๋ฑ์ค ๋ณ๊ฒฝ
- alter [unique] index <index name> on <table name>(<columns(s)>);
๋ทฐ
- ๋ ผ๋ฆฌํ ์ด๋ธ๋ก์ ์ฌ์ฉ์ ํ ์ด๋ธ๊ณผ ๋์ผ
- ๊ฐ์ํ ์ด๋ธ
- ๋ทฐ ์ฌ์ฉ
- select * from <View Name>;
- ๋ทฐ ์ฅ์
- ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ ์ ๊ณต
- ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ฉ์ด
- ๋ฐ์ดํฐ ๋ณด์ ์ฉ์ด
- ๋ทฐ ๋จ์
- ๋ทฐ ์์ฒด ์ธ๋ฑ์ค ๋ถ๊ฐ
- ๋ทฐ ์ ์ ๋ณ๊ฒฝ ๋ถ๊ฐ
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ฝ ์กด์ฌ
- ๋ทฐ ์์ฑ
- create view <๋ทฐ์ด๋ฆ>(์ปฌ๋ผ๋ชฉ๋ก) as <๋ทฐ๋ฅผ ํตํด ๋ณด์ฌ์ค ๋ฐ์ดํฐ ์กฐํ์ฉ ์ฟผ๋ฆฌ๋ฌธ>
- ๋ทฐ ์ญ์ ๋ฐ ๋ณ๊ฒฝ
- ๋ทฐ ์ ์ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๋ถ๊ฐ๋ฅํจ
- drop view <View Name>
- ๋ทฐ ๋ด์ฉ ๋ณ๊ฒฝ
- ๋ทฐ๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐ์ดํ ๋ํ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ
- ๋ทฐ ์์ฒด๊ฐ ๋ ผ๋ฆฌ์ ๊ฐ๋ ์ด๊ธฐ์ ๋ฌผ๋ฆฌ์ ์ํฉ์ ์์กด์ ์์ ์๋ฏธ
๋ค์ค ํ ์ด๋ธ ๊ฒ์
- ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทํ ๊ธฐ๋ฒ ์ฌ์ฉ
- ํตํฉํ๋ ๊ธฐ๋ฒ์ผ๋ก ๋ค์ค ํ ์ด๋ธ์ ๋ํ ๊ฒ์์ด ์ฌ์ฉ
- Join(์กฐ์ธ)
- ๊ฒฐํฉ์ ์๋ฏธ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ์กฐ์ธ์ ๊ต์งํฉ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๋ ๊ฒฐํฉ ๋ฐฉ๋ฒ์ ์๋ฏธ
- ๋ ํ ์ด๋ธ์ ๊ณตํต๊ฐ์ ์ด์ฉํ์ฌ ์ปฌ๋ผ์ ์กฐํฉํ๋ ์๋จ
- ๋ ผ๋ฆฌ์ ์กฐ์ธ๊ณผ ๋ฌผ๋ฆฌ์ ์กฐ์ธ์ด ์์
- ๋ด๋ถ์กฐ์ธ (inner join)๊ณผ ์ธ๋ถ ์กฐ์ธ(outer join)์ด ์์
- Sub Quer(์๋ธ ์ปฌ๋ฆฌ)
- SQL๋ฌธ ์์ ํฌํจ๋ ๋ ๋ค๋ฅธ SQL๋ฌธ์ ์๋ฏธ
- ๋ฉ์ธ์ฟผ๋ฆฌ์ ์๋ธ์ฟผ๋ฆฌ ๊ด๊ณ๋ ์ฃผ์ข ๊ด๊ณ
- ๋น์ฐ๊ด ์๋ธ์ฟผ๋ฆฌ์ ์ฐ๊ด ์๋ธ์ฟผ๋ฆฌ๊ฐ ์์
- Single row(๋จ์ผ ํ)์๋ธ ์ฟผ๋ฆฌ, Multiple Row(๋ค์ค ํ)์๋ธ ์ฟผ๋ฆฌ, Multiple Column(๋ค์ค ์ปฌ๋ผ) ์๋ธ ์ฟผ๋ฆฌ๊ฐ ์์
- ์งํฉ์ฐ์ฐ
- ๋ ํ ์ด๋ธ ์ฐ์ฐ์ ์งํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์
- ์ฌ๋ฌ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํ๋๋ก ๊ฒฐํฉํ๋ ๋ฐฉ์์ ์ฌ์ฉ
- UNION : ํฉ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐ)
- UNION ALL : ํฉ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐํ์ง ์์)
- INTERSECTION : ๊ต์งํฉ(์ค๋ณต ํ ์ ๊ฑฐ)
- EXCEPT(MINUS) : ์ฐจ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐ)
728x90
๋ฐ์ํ