Search

MySQL ๊ฐ์ฒด - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๋ทฐ

MySQL ๊ฐ์ฒด - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๋ทฐ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” MySQL์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฐ์ฒด์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๋ทฐ์— ๋Œ€ํ•ด ์‰ฝ๊ณ  ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. MySQL์ด ๋ฌด์—‡์ธ์ง€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ, ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ๊ด€๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ๋ทฐ(View)์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ•๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๋ชฉ์ฐจ

1.
MySQL๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†Œ๊ฐœ [00:00:13]
2.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œ ๋ฐฉ๋ฒ• [00:02:05]
3.
ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ƒ์„ฑ ๋ฐฉ๋ฒ• [00:10:09]
4.
ํ…Œ์ด๋ธ” ์ˆ˜์ •๊ณผ ์‚ญ์ œ, ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ [00:12:28]
5.
๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ช…๋ น์–ด โ€˜ํŠธ๋ ์ผ€์ดํŠธโ€™์™€ โ€˜๋“œ๋žโ€™ [00:13:48]
6.
ํ…Œ์ด๋ธ” ์‹ค์Šต๊ณผ ๋ณต์‚ฌ, ๋ฐฑ์—… ๋ฐฉ๋ฒ• [00:26:31]
7.
๋ทฐ(View)์˜ ๊ฐœ๋…๊ณผ ํŠน์ง• [00:36:52]
8.
๋ทฐ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ๋ฐฉ๋ฒ•๊ณผ ์‹ค์Šต [00:41:18]

MySQL๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†Œ๊ฐœ [00:00:13]

โ€ข
MySQL์€ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์ž…๋‹ˆ๋‹ค.
โ€ข
๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€, ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ(ํ…Œ์ด๋ธ”) ํ˜•ํƒœ๋กœ ๊ตฌ์กฐํ™”ํ•ด์„œ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๋งํ•ด์š”.
โ€ข
MySQL์€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ํ‘œ์ค€ SQL ๋ฌธ๋ฒ•์„ ์ง€์›ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, ๋งˆ๋ฆฌ์•„DB๋„ MySQL ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œํ’ˆ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œ ๋ฐฉ๋ฒ• [00:02:05]

โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ:ย CREATE DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…;ย ๋ช…๋ น์–ด๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ:ย USE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…;ย ๋ช…๋ น์–ด๋กœ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•ด ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋งค๋ฒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์„ ๋ถ™์ด์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ:ย ALTER DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช… ์˜ต์…˜;์œผ๋กœ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ(์บ๋ฆญํ„ฐ์…‹), ์ •๋ ฌ ๋ฐฉ์‹(์ฝœ๋ ˆ์ดํŠธ) ๋“ฑ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ญ์ œ:ย DROP DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…;์œผ๋กœ ์‚ญ์ œํ•˜๋ฉฐ, ์‚ญ์ œ ์ „์—๋Š” ๊ผญ ๋ฐฑ์—…์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ƒ์„ฑ ๋ฐฉ๋ฒ• [00:10:09]

โ€ข
ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ, ํ–‰๊ณผ ์—ด(2์ฐจ์› ํ‘œ) ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.
โ€ข
๊ฐ ์—ด์€ ํŠน์ • ๋ฐ์ดํ„ฐ ํƒ€์ž…(์˜ˆ: INT, VARCHAR, TIMESTAMP ๋“ฑ)์„ ๊ฐ€์ง€๋ฉฐ,ย PRIMARY KEY(๊ธฐ๋ณธ ํ‚ค)๋กœ ๊ฐ ํ–‰์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์˜ˆ์‹œ:
CREATE TABLE ํ…Œ์ด๋ธ”๋ช… ( ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… ์ œ์•ฝ์กฐ๊ฑด, ... );
SQL
๋ณต์‚ฌ
โ€ข
์ œ์•ฝ์กฐ๊ฑด์—๋Š”ย NOT NULLย (๋นˆ ๊ฐ’ ๋ถˆ๊ฐ€),ย UNIQUEย (์ค‘๋ณต ๋ถˆ๊ฐ€),ย DEFAULTย (๊ธฐ๋ณธ๊ฐ’),ย PRIMARY KEYย ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์ˆ˜์ •๊ณผ ์‚ญ์ œ, ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ [00:12:28]

โ€ข
ํ…Œ์ด๋ธ” ์ˆ˜์ •:ย ALTER TABLE ํ…Œ์ด๋ธ”๋ช…์œผ๋กœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€(ADD COLUMN), ์ˆ˜์ •(MODIFY COLUMN), ์‚ญ์ œ(DROP COLUMN)๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํ…Œ์ด๋ธ” ์‚ญ์ œ:ย DROP TABLE ํ…Œ์ด๋ธ”๋ช…;์œผ๋กœ ํ…Œ์ด๋ธ”๊ณผ ๊ทธ ์•ˆ์˜ ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ ์‚ญ์ œ:ย TRUNCATE TABLE ํ…Œ์ด๋ธ”๋ช…;์€ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋งŒ ๋ชจ๋‘ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์‚ญ์ œ ํ›„ ๋ณต๊ตฌ(๋กค๋ฐฑ)๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ˆ ์ฃผ์˜ํ•˜์„ธ์š”.

๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ช…๋ น์–ด โ€˜ํŠธ๋ ์ผ€์ดํŠธโ€™์™€ โ€˜๋“œ๋žโ€™ [00:13:48]

โ€ข
TRUNCATE๋Š” ํ…Œ์ด๋ธ” ๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋น„์šฐ๊ณ  ์ž๋™ ์ฆ๊ฐ€ ๋ฒˆํ˜ธ๋„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
DROP์€ ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด๋กœ, ๋ฐ์ดํ„ฐ์™€ ๊ตฌ์กฐ ๋ชจ๋‘ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
โ€ข
๋‘˜ ๋‹ค ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ์‚ญ์ œ ์ „ ๋ฐฑ์—…์„ ๊ผญ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ์‹ค์Šต๊ณผ ๋ณต์‚ฌ, ๋ฐฑ์—… ๋ฐฉ๋ฒ• [00:26:31]

โ€ข
๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ๋ณต์‚ฌํ•ด์„œ ๋ฐฑ์—… ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
์˜ˆ:ย CREATE TABLE ๋ฐฑ์—…ํ…Œ์ด๋ธ”๋ช… AS SELECT * FROM ์›๋ณธํ…Œ์ด๋ธ”๋ช…;
โ€ข
ํ•„์š”ํ•œ ์ปฌ๋Ÿผ๋งŒ ์„ ํƒํ•ด์„œ ๋ณต์‚ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ๋˜์–ด, ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ ๋ฐฑ์—…์šฉ์œผ๋กœ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ทฐ(View)์˜ ๊ฐœ๋…๊ณผ ํŠน์ง• [00:36:52]

โ€ข
*๋ทฐ(View)**๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์ด๋‚˜ ๋‹ค๋ฅธ ๋ทฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ย ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค.
โ€ข
์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
๋ทฐ์˜ ์žฅ์ :
1.
๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์คŒ
2.
๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ฐ•ํ™” (์˜ˆ: ๋ฏผ๊ฐํ•œ ์ปฌ๋Ÿผ์„ ์ˆจ๊ธฐ๊ณ  ํ•„์š”ํ•œ ์ปฌ๋Ÿผ๋งŒ ๋ณด์—ฌ์คŒ)
3.
๋ฐ์ดํ„ฐ ์ง‘๊ณ„ ๋ฐ ์žฌ์‚ฌ์šฉ์ด ํŽธ๋ฆฌ
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, ์œ ์ € ํ…Œ์ด๋ธ”์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ปฌ๋Ÿผ์€ ์ˆจ๊ธฐ๊ณ  ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ๋งŒ ๋ณด์—ฌ์ฃผ๋Š” ๋ทฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ทฐ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ๋ฐฉ๋ฒ•๊ณผ ์‹ค์Šต [00:41:18]

โ€ข
๋ทฐ ์ƒ์„ฑ:ย CREATE VIEW ๋ทฐ๋ช… AS SELECT ... FROM ํ…Œ์ด๋ธ”๋ช… WHERE ...;
โ€ข
๋ทฐ ์ˆ˜์ •:ย ALTER VIEW ๋ทฐ๋ช… AS SELECT ...;๋กœ ์ฟผ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
๋ทฐ ์‚ญ์ œ:ย DROP VIEW ๋ทฐ๋ช…;
โ€ข
๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ๋งค๋ฒˆ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์‹ค์Šต์—์„œ๋Š” ์‚ฌ์›๊ณผ ๋งค๋‹ˆ์ € ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋ทฐ๋กœ ๋งŒ๋“ค์–ด, ๋‚˜์ค‘์— ๋ทฐ๋งŒ ์กฐํšŒํ•ด ๊ฒฐ๊ณผ๋ฅผ ์‰ฝ๊ฒŒ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” MySQL์˜ ๊ธฐ๋ณธ ๊ฐ์ฒด์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”, ๋ทฐ๋ฅผ ์‰ฝ๊ณ  ์ž์„ธํ•˜๊ฒŒ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ํฐ ๊ทธ๋ฆ‡,
โ€ข
ํ…Œ์ด๋ธ”์€ ๊ทธ ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ํ–‰๊ณผ ์—ด๋กœ ์ €์žฅํ•˜๋Š” ํ‘œ,
โ€ข
๋ทฐ๋Š” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋†“์€ ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ, ๋ณด์•ˆ๊ณผ ํŽธ๋ฆฌํ•จ์„ ๋†’์—ฌ์ค๋‹ˆ๋‹ค.
์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์‹ค์Šต ์˜ˆ์ œ๋„ ํ•จ๊ป˜ ๋‹ค๋ค„์„œ, ์ง์ ‘ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•ด ๋ณด๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋  ๊ฑฐ์˜ˆ์š”!
MySQL์„ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ๋ถ„๋“ค๋„ ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๊ฐ€ ํ›จ์”ฌ ์ˆ˜์›”ํ•ด์งˆ ๊ฑฐ๋ž๋‹ˆ๋‹ค.
์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ๋˜์„ธ์š”!