์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

MariaDB(MySQL)์˜ ๋ชจ๋“ ๊ฒƒ - ์‹ฌํ™”ํŽธ

๊ฐœ๋ฐœ์ž…๋ฌธ์ž, ๋ฐฑ์—”๋“œ๊ฐœ๋ฐœ์ž, SQLD์‹œํ—˜์ค€๋น„ ์ˆ˜๊ฐ•์ƒ ๋“ฑ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์•Œ์•„์•ผ ํ•  MariaDB(MySQL)์˜ ๋ชจ๋“  ๊ฒƒ์„ ๋ฐฐ์›๋‹ˆ๋‹ค. DB๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•ด๋ณด๋Š” ์‹ค์Šต์œ„์ฃผ๋กœ ์ˆ˜์—…์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

93๋ช… ์ด ์ˆ˜๊ฐ•ํ•˜๊ณ  ์žˆ์–ด์š”.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, MariaDB] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ํŠธ๋žœ์žญ์…˜

  • ๋™์‹œ์„ฑ ์ด์Šˆ์™€ ํ•ด๊ฒฐ์ฑ…

  • join(inner, outer)๋ฌธ

  • group by์™€ ์ง‘๊ณ„ํ•จ์ˆ˜

  • DB์„ค๊ณ„(erd์„ค๊ณ„, ์ •๊ทœํ™”)

  • db dump ์ž‘์—…

  • ํ”„๋กœ์‹œ์ €์™€ view

์ˆ˜์—…์ง„ํ–‰๋ฐฉ์‹

mariadb์™€ mysql DB๋ฅผ ๋ฐฐ์šฐ๊ณ ์ž ํ•˜์‹œ๋Š” ๋ถ„๋“ค์„ ์œ„ํ•œ ์ˆ˜์—…์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ˆ˜์—…์€ ์ด๋ก ์„ ๋ณ‘ํ–‰ํ•˜๋˜ ์‹ค์Šต์„ ์œ„์ฃผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธํŽธ์—์„œ๋Š” DB์„ค์น˜, ํ…Œ์ด๋ธ” ๊ตฌ์ถ•์„ ์œ„ํ•œ DDL๋ฌธ๋ฒ•(CREATE,ALTER, DROP), ํ…Œ์ด๋ธ” ๋‚ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” DML๋ฌธ๋ฒ•(insert, select, update, delete), ํƒ€์ž…, ์ œ์•ฝ์กฐ๊ฑด ๋“ฑ์„ ์œ„์ฃผ๋กœ ๋ฐฐ์›๋‹ˆ๋‹ค.

์‹ฌํ™”ํŽธ์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜, ๋™์‹œ์„ฑ ์ด์Šˆ ํ•ด๊ฒฐ์ฑ…, join, index, DB์„ค๊ณ„(ERD์„ค๊ณ„, ์ •๊ทœํ™”), db dump ์ž‘์—…, ํ”„๋กœ์‹œ์ € ๋ฐ view ๋“ฑ์„ ๋ฐฐ์›๋‹ˆ๋‹ค.


๊ธฐ๋ณธํŽธ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์‹ฌํ™”ํŽธ ์ˆ˜๊ฐ•์‹œ

๊ธฐ์ดˆ์ ์ธ SQL์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์‹์ด ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ๊ธฐ๋ณธํŽธ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์‹ฌํ™”ํŽธ์„ ๋“ค์–ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค.(์กฐํšŒ, ์‚ฝ์ž… ๋“ฑ์˜ ์ฟผ๋ฆฌ์™€ pk, fk๊ฐ€ ์ •๋„๊ฐ€ ๋ญ”์ง€ ์•Œ๊ณ  ์žˆ๋‹ค. ์ด ์ •๋„๋ฉด ๋ฉ๋‹ˆ๋‹ค.)

๋‹ค๋งŒ, ๊ธฐ๋ณธํŽธ์—์„œ ๋ฏธ๋ฆฌ ๊ตฌ์ถ•ํ•œ DB๋ฅผ ํ™œ์šฉํ•ด์„œ ์‹ฌํ™”ํŽธ ์ˆ˜์—…์ด ์ง„ํ–‰๋˜๋‹ˆ ์•„๋ž˜ ์ ˆ์ฐจ์— ๋”ฐ๋ผ DB๊ตฌ์ถ•์„ ์ง„ํ–‰ํ•ด์ฃผ์‹œ๋ฉด ๋ฐ”๋กœ ์‹ฌํ™”ํŽธ ์ˆ˜๊ฐ•ํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์ด ์—†์Šต๋‹ˆ๋‹ค.

1)mariadb ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜, workbench(๋˜๋Š” dbeaver, datagrip)์„ค์น˜, vscode์„ค์น˜ 2)board ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ์ฟผ๋ฆฌ๋ฌธ CREATE DATABASE board; USE board; 3)author ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… 3-1)ํ…Œ์ด๋ธ”์ƒ์„ฑ CREATE TABLE author (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) DEFAULT 'anonymous', email VARCHAR(255) NOT NULL, password VARCHAR(20), age TINYINT UNSIGNED, gender CHAR(1), self_introduction TEXT, profile_image VARCHAR(255), role ENUM('user', 'admin') NOT NULL DEFAULT 'user', PRIMARY KEY (id), UNIQUE (email)); 3-2)๋ฐ์ดํ„ฐ์‚ฝ์ž… INSERT INTO author (name, email, password) VALUES ('hong1', 'hong1@naver.com', '1234'), ('hong2', 'hong2@naver.com', '1234'), ('hong3', 'hong3@naver.com', '1234'), ('hong4', 'hong4@naver.com', '1234'), ('hong4', 'hong5@naver.com', '1234'); 4)posts ํ…Œ์ด๋ธ”์ƒ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… 4-1)ํ…Œ์ด๋ธ”์ƒ์„ฑ CREATE TABLE posts (id INT NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, contents VARCHAR(3000), author_id INT, price DECIMAL(10,3), created_time DATETIME DEFAULT CURRENT_TIMESTAMP(), user_id CHAR(36) DEFAULT UUID(), PRIMARY KEY (id), KEY (author_id), CONSTRAINT post_author_fk FOREIGN KEY (author_id) REFERENCES author (id) ON DELETE CASCADE); 4-2)๋ฐ์ดํ„ฐ ์‚ฝ์ž… INSERT INTO posts (title, contents, author_id, price) VALUES ('java', 'java is ...', 1, null),('python', 'python is ...', 1, null),('java2', null, 1, 10.346);

์ˆ˜์—…์ž๋ฃŒ

๋ชจ๋“  ์ˆ˜์—… ์ž๋ฃŒ๋Š” ์•„๋ž˜ ๋งํฌ์˜ ๋…ธ์…˜์ž๋ฃŒ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

https://picturesque-staircase-f6e.notion.site/MariaDB-0637f39566314a32a50988b42fb09454?pvs=74

์œ„ ํ…์ŠคํŠธ ์ž๋ฃŒ์™ธ์— DB๋ฅผ ์‹ค์Šตํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ๋ช…๋ น๋ฌธ์€ ๊ฐ•์‚ฌ๊ฐ€ ์ˆ˜์—…์„ ์ง„ํ–‰ํ•˜๋ฉฐ ํ•จ๊ป˜ ์ž๋ฃŒ๋กœ ๋งŒ๋“ค์–ด ๋ณต์Šตํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ค๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๊ฐœ๋ฐœ ์ž…๋ฌธ์ž

  • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

  • sqld ๋“ฑ db๊ด€๋ จ ์‹œํ—˜์ค€๋น„์ƒ

  • db์— ๊ด€์‹ฌ์žˆ๋Š” ์ผ๋ฐ˜์ธ

์•ˆ๋…•ํ•˜์„ธ์š”
brad_kim์ž…๋‹ˆ๋‹ค.

1,145

๋ช…

์ˆ˜๊ฐ•์ƒ

55

๊ฐœ

์ˆ˜๊ฐ•ํ‰

36

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

7

๊ฐœ

๊ฐ•์˜

๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช ์‹ค๋ฌด์™€ ๊ฐ•์˜ ๊ฒฝ๋ ฅ์„ ๊ฐ–์ถ˜ ์ „๋ฌธ๊ฐ€ ๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช

์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฐ์„ธ๋Œ€ํ•™๊ต๋ฅผ ์กธ์—…ํ•˜๊ณ  ๋Œ€๊ธฐ์—…, ์Šคํƒ€ํŠธ์—… ๋“ฑ์—์„œ 8๋…„ ์ด์ƒ์„ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ์ผํ•ด์™”์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ๋ถ€ํŠธ์บ ํ”„์—์„œ ์ „์—… ๊ฐ•์‚ฌ๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด ๊ฒฝํ—˜๊ณผ ๊ฐ•์˜ ๊ฒฝํ—˜์„ ๋ชจ๋‘ ๊ฐ–์ถ˜ ๊ฐ•์‚ฌ๋กœ์„œ, ์—ฌ๋Ÿฌ๋ถ„๋“ค์—๊ฒŒ ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผํ•  ์ง€์‹๋“ค ์œ„์ฃผ๋กœ ์•Œ๊ธฐ์‰ฝ๊ฒŒ ์ „๋‹ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœํ•„ : https://www.linkedin.com/in/seongukkim

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

22๊ฐœ โˆ™ (8์‹œ๊ฐ„ 52๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!