1012 TIL mySQL(2)

๋ƒํ•˜ํ˜ธํ›„ยท2021๋…„ 10์›” 12์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
47/101

๐Ÿ™†โ€โ™€๏ธ ํ†ต๊ณ„๋ฅผ ์œ„ํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
๐Ÿ™†โ€โ™€๏ธ ์•ฑ์— ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”๊ณผ ํ•„๋“œ, ๊ทธ๋ฆฌ๊ณ  ๊ด€๊ณ„๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
๐Ÿ™†โ€โ™€๏ธ 1:N, N:N ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
๐Ÿ™†โ€โ™€๏ธ Foreign Key, Primary Key์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

Primary Key , Foreign Key

Primary Key

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ primary key๋ฅผ ์ •์˜ํ•œ๋‹ค.
๊ฐ ํ–‰(๋ ˆ์ฝ”๋“œ)์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
ํ…Œ์ด๋ธ”์€ ์˜ค์ง ํ•˜๋‚˜์˜ ๊ธฐ๋ณธํ‚ค(primary key)๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. => ๊ธฐ๋ณธํ‚ค๋ฅผ ์˜ค์ง ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ์œผ๋กœ๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด ์•„๋‹ˆ๋‹ค. 2๊ฐœ์ด์ƒ์˜ ์ปฌ๋Ÿผ์ด primary key๋กœ ์ง€์ •๋  ์ˆ˜ ์žˆ๋‹ค.
๊ณ ์œ  ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

Foreign Key

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ• ๋•Œ foreign key๋ฅผ ์ •์˜ํ•œ๋‹ค.
foreign key๊ฐ€ ์ •์˜๋œ ํ…Œ์ด๋ธ”์ด ์ž์‹ ํ…Œ์ด๋ธ”์ด๋‹ค.
์ฐธ์กฐ๋˜๋Š” ํ…Œ์ด๋ธ”์„ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ํ•œ๋‹ค.
๋ถ€๋ชจ ํ…Œ์ด๋ธ”์€ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ ์ฐธ์กฐ๋˜๋Š” ์ปฌ๋Ÿผ์— ์กด์žฌํ•˜๋Š” ๊ฐ’๋งŒ์„ ์ž…๋ ฅ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ถ€๋ชจ ํ…Œ์ด๋ธ”์€ foreign key๋กœ ์ธํ•ด ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

create database ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„;

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ

USE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„;

์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก

SHOW databases;

ํ˜„์žฌ MySQL ์„œ๋ฒ„์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก์„ ์ถœ๋ ฅํ•œ๋‹ค.

SELECT database();

ํ˜„์žฌ ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์„ ์ถœ๋ ฅํ•œ๋‹ค.

TRUNCATE / DELETE / DROP

DELETE FROM dbtable;
TRUNCATE TABLE dbtable;
DROP TABLE dbtable;

์„ธ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ table์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

DELETE

DELETE FROM dbtable;
DELETE FROM dbtable WHERE ์กฐ๊ฑด;
ROLLBACK;
COMMIT;

WHERE์ ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋”๋ผ๋„ COMMIT๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์ด๋ผ๋ฉด ROLLBACK๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

TRUNCATE

TRUNCATE TABLE dbtable

TRUNCATE๋ฌธ์€ ์ž๋™์œผ๋กœ COMMIT๋˜๋Š” ๋ช…๋ น์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ์ง€์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋‹ค.

DROP

ํ…Œ์ด๋ธ” ํ‘œ ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ๋ช…๋ น๋ฌธ์ด๋‹ค. ์ง€์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋‹ค.

DELETETRUNCATEDROP
์ฒ˜๋ฆฌ์†๋„๋Š๋ฆผ๋น ๋ฆ„๋น ๋ฆ„
commit์‹œ์šฉ์ž๊ฐ€ ์ง์ ‘์ž๋™์ž๋™
๋กค๋ฐฑ๊ฐ€๋Šฅ์—ฌ๋ถ€commit์ด์ „๊ฐ€๋Šฅ๋ถˆ๊ฐ€๋ถˆ๊ฐ€
์‚ญ์ œ๋˜๋Š” ์ •๋„๋ฐ์ดํ„ฐ๋งŒ์‚ญ์ œํ…Œ์ด๋ธ”์„CREATE์ƒํƒœ๋กœ ๋˜๋Œ๋ฆผํ…Œ์ด๋ธ”๊นŒ์ง€ ์™„์ „ํžˆ ์ œ๊ฑฐ

์ฐธ์กฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
dotenv
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค2

profile
DONE is better than PERFECT

0๊ฐœ์˜ ๋Œ“๊ธ€