๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

๐Ÿ’ป Deep Wide Programming/Mysql & Database

(8)
[์ƒํ™œ์ฝ”๋”ฉ] DATABASE2 MySQL - ํ…Œ์ด๋ธ” ๋ถ„๋ฆฌ & JOIN 1. ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ์ค„์ด๊ธฐ ์œ„ํ•œ, ํ…Œ์ด๋ธ” ๋ถ„๋ฆฌ ์œ„์˜ ํ…Œ์ด๋ธ”์„ ์•„๋ž˜์˜ ๋‘ ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ค๋ฉด, ์ž๋ฃŒ์˜ ์ค‘๋ณต์„ ์ค„์—ฌ ์œ ์ง€/๋ณด์ˆ˜๊ฐ€ ํ›จ์”ฌ ๋” ์šฉ์ดํ•ด์ง„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์…€๋ ‰ํŠธ ๋ฌธ์œผ๋กœ ์ฝ์„ ๋•Œ๋Š” ๋‘๊ฐœ๋กœ ๋‚˜๋‰œ ํ…Œ์ด๋ธ”์„ ํ•ฉ์ณ์„œ ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ์ฝ์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์œ„์˜ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋ฅผ mysql๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‘๊ฐœ์˜ ํ‘œ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค. 1) author ํ‘œ 2) topic ํ‘œ 2. JOIN topic ํ…Œ์ด๋ธ”์˜ author_id์™€ authorํ…Œ์ด๋ธ”์˜ id ๊ฐ’์€ ๊ฐ™๋‹ค. ์ด๊ฑธ ์ด์šฉํ•ด์„œ, ๋‘ ํ…Œ์ด๋ธ”์„ ํ•œ ๋ฒˆ์— ํ•ฉ์ณ์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋Š” ๋ฐ”๋กœ 'JOIN'์ด๋‹ค. SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id; SELECT๋ฌธ์„ ์ด์šฉํ•ด, ํ•ฉ์น˜๋ฉด์„œ ๋ณด๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋งŒ ๋ณผ ์ˆ˜ ์žˆ..
Mysql ๋ณต์Šต ๋ณต์Šตํƒ€์ž„ 1. mysql ์ ‘์†ํ•˜๊ธฐ ๋‚˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ‘์†ํ•œ๋‹ค. 2. ์ €์žฅ๋œ DB(์Šคํ‚ค๋งˆ) ์ฝ๊ธฐ: SHOW DATABASES; 3. DB(์Šคํ‚ค๋งˆ) ๋งŒ๋“ค๊ธฐ: CREATE DATABASE ______; 4. ์Šคํ‚ค๋งˆ ์ ‘์†ํ•˜๊ธฐ & ์Šคํ‚ค๋งˆ ๋‚ด์˜ ํ‘œ ํ™•์ธํ•˜๊ธฐ: USE _____; / show tables 5. ์Šคํ‚ค๋งˆ ๋‚ด์˜ ํ‘œ ๋ณด๊ธฐ: desc ____; topic์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋งŒ๋“ค์–ด๋‘์—ˆ๋˜ ํ‘œ๋ฅผ ์—ด์—ˆ๋‹ค. 6. table ๋‚ด์šฉ ํ™•์ธํ•˜๊ธฐ: SELECT * FROM ____; 7. ํ‘œ์— row(ํ–‰) ์ถ”๊ฐ€ํ•˜๊ธฐ: INSERT INTO _____( , , , , ) VALUES (' ', ' ', ' ', ' ', ' '); ๊ตฌ๊ธ€๋ง์„ ์ƒํ™œํ™”ํ•  ๊ฒƒ! https://www.w3schools.com/s..
[์ƒํ™œ์ฝ”๋”ฉ] DATABASE2 MySQL_delete ํŠน์ • ์—ด์„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋ฐ˜๋“œ์‹œ, where id=5์™€ ๊ฐ™์€ where๋ฌธ์„ ๋น ๋œจ๋ฆฌ๋ฉด, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ ์•„๊ฐ€๋Š” ์žฌ์•™์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜! ์—ฌ๊ธฐ๊นŒ์ง€, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ CRUD๋ฅผ ๋ชจ๋‘ ์‚ดํŽด๋ณด์•˜๋‹ค! ๊ฐ๊ฐ์˜ ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ๊ทธ๋•Œ ๊ทธ๋•Œ๋งˆ๋‹ค ๊ตฌ๊ธ€๋งํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๊ฐ€ ๋˜๋ฉด ๋œ๋‹ค.
[์ƒํ™œ์ฝ”๋”ฉ] DATABASE2 MySQL_Table ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ, UPDATE ์›๋ž˜ ์ด๋ ‡๊ฒŒ ์ƒ๊ธด ํ‘œ์—์„œ, id=2 ๊ฐ’์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ! ์ด๋Ÿด ๋•Œ, UPDATE๋ฅผ ์จ์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ์จ์ฃผ๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
[์ƒํ™œ์ฝ”๋”ฉ] MySQL SELECT Syntax ํŠน์ • Column ๊ฐ’๋งŒ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ, ์ด๋ ‡๊ฒŒ ๋ชจ๋“  ํ‘œ๊ฐ€ ์•„๋‹ˆ๋ผ, ํ‘œ ์ค‘์—์„œ๋„ id, title, created, authour์— ๋Œ€ํ•œ ๊ฐ’๋งŒ ๋ณด๊ณ ์‹ถ์„๋•Œ๋Š” ' SELECT ๊ณผ From ํ…Œ์ด๋ธ”์ด๋ฆ„ ์‚ฌ์ด์— ํ•ด๋‹น ์—ด ์ด๋ฆ„์„ ๋„ฃ์–ด์ค€๋‹ค. ํŠน์ • Row ๊ฐ’์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ, [Where] ์ด๋ ‡๊ฒŒ authour๊ฐ€ egoing์ธ ๊ฐ’์— ๋Œ€ํ•ด์„œ๋งŒ ๋ณด๊ณ ์‹ถ์„ ๋•Œ๋Š”, from topic ๋’ค์— "WHERE"๋ฌธ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ' ํŠน์ • ์—ด์˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ณด๊ณ ์‹ถ์„ ๋•Œ, [ORDER BY id DESSC] ํŠน์ • ๊ฐฏ์ˆ˜๊นŒ์ง€๋งŒ ๋ณด๊ณ ์‹ถ์„ ๋•Œ, [DESC LIMIT] DATABASE๋ฅผ ์ž˜ํ•œ๋‹ค์˜ ํ•ต์‹ฌ์€, ํ•„์š”์— ๋”ฐ๋ผ ์ด SELECT๋ฌธ์„ ์ž˜ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์— ์žˆ๋‹ค.
[์ƒํ™œ์ฝ”๋”ฉ] Database2_ MySQL Table ์ถ”๊ฐ€ํ•˜๊ธฐ (Insert) ์ผ๋‹จ MySQL ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ, ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™•์ธํ•œ๋‹ค. ๋‚˜๋Š” ์ €์žฅํ•ด๋‘์—ˆ๋˜ opentutorials๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ table์„ ํ™•์ธํ•ด๋ณด๋‹ˆ, topic ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•ด๋‘์—ˆ๋˜ ๊ฒƒ์ด ์žˆ์—ˆ๋‹ค. DESC topic; ์ด๋ผ๊ณ  ์น˜๋ฉด, topic์ด๋ผ๋Š” table์„ describe ํ•ด์ค€๋‹ค. ์ž…๋ ฅํ•ด๋‘์—ˆ๋˜, columns๋“ค์ด ์žˆ๊ณ , ์ด ๊ฐ๊ฐ์˜ columns์— row๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค. Insert์™€ Values๋ฅผ ์ด์šฉํ•ด์„œ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  SELECT *FROM topic; ์ด๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•ด์„œ ๋ฐฉ๊ธˆ ์ถ”๊ฐ€๋œ topic ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ณ ์ž‰ ์Œค์ด ์ž‘์„ฑํ•ด๋†“์€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์˜ ์œ„์™€ ๊ฐ™์€ ํ‘œ๋ฅผ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜ฎ๊ฒจ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ด๋ ‡๊ฒŒ ํ‘œ๋ฅผ ๋งŒ๋“ค์—ˆ..
[์ƒํ™œ์ฝ”๋”ฉ] MySQL 7๊ฐ•, 8.1๊ฐ•, 8.2๊ฐ•, 9๊ฐ• (Table์˜ ๊ตฌ์กฐ์™€ ์ƒ์„ฑ) MySQL์˜ ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ตœ์ข…์ ์ธ ์ง€์ ์€ 'ํ‘œ(Table)'๋‹ค. ์ •๋ณด๊ฐ€ ํ‘œ์— ์ €์žฅ์ด ๋œ๋‹ค. ํ‘œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด, ๋งŽ์•„์ง„ ํ‘œ๋“ค์„ ์ž˜ ์ •๋ฆฌ์ •๋ˆํ•  ํ•„์š”๊ฐ€ ํ•„์š”ํ•ด์ง„๋‹ค. ํŒŒ์ผ์—์„œ ๋””๋ ‰ํ† ๋ฆฌ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ํ•„์š”ํ•ด์ง€๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌ! ์—ฐ๊ด€๋œ ํ‘œ๋“ค์„ ๊ทธ๋ฃนํ•‘ํ•ด์„œ, ์—ฐ๊ด€๋˜์ง€ ์•Š์€ ํ‘œ๋“ค๊ณผ ๋ถ„๋ฆฌํ•˜๋Š” ํŒŒ์ผ์˜ ํด๋” ๊ฐ™์€ ๊ฐœ๋…์ด ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ‘œ๋“ค์„ ๊ทธ๋ฃนํ•‘ ํ•œ๊ฒƒ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database)๋ผ๊ณ  ํ•œ๋‹ค. ์˜๋ฏธ๊ฐ€ ์ข€ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ‚ค๋งˆ๋ผ๋Š” ํ‘œํ˜„์œผ๋กœ ์“ด๋‹ค. ์Šคํ‚ค๋งˆ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)= ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ทธ๋ฃนํ•‘ํ•œ ๊ฒƒ *์Šคํ‚ค๋งˆ ์•ˆ์—๋Š” ํ‘œ๋“ค์ด ์žˆ๋‹ค~* ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์š”์†Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ mysql์„ ์šฐ๋ฆฌ๋Š” ์„ค์น˜ํ•œ ๊ฒƒ์ด๊ณ , ๊ทธ ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์„ฑ์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž‘์—…..
[์ƒํ™œ์ฝ”๋”ฉ] Database1, Database 2_MySQL (Database์˜ ํƒ„์ƒ, spreadsheet์™€ mysql์˜ ์ฐจ์ด, mysql ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ  ์‹คํ–‰์‹œํ‚ค๊ธฐ) ์ •๋ณด๊ธฐ์ˆ ์˜ ์‹ฌ์žฅ, Database์˜ ๋“ฑ์žฅ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š”, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•ด์„œ ๋‹ค์–‘ํ•œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์›น๊ณผ ์•ฑ์„ ํ†ตํ•ด ์†Œ์‹๊ณผ ์ง€์‹์„ ์ „ํŒŒํ•  ์ˆ˜ ์žˆ๊ณ , ๋น…๋ฐ์ดํ„ฐ๋‚˜ ์ธ๊ณต์ง€๋Šฅ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด์„œ ๋Œ€๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํ†ต์ฐฐ๋ ฅ์žˆ๋Š” ๋ถ„์„๊ฒฐ๊ณผ๋ฅผ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊บผ๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฒซ๋ฒˆ์งธ ์ˆ˜๋‹จ์€ File์ด๋‹ค. File์€ ๋ฐฐ์šฐ๊ธฐ๊ฐ€ ์‰ฝ๊ณ , ์–ด๋””์—์„œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฉ”์ผ์ด๋‚˜ ๋ฉ”์‹ ์ €๋ฅผ ์ด์šฉํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์ „์†ก๋„ ๊ฐ€๋Šฅํ•˜๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ์„ฑ๋Šฅ, ๋ณด์™„, ํŽธ์˜์„ฑ์— ํ•œ๊ณ„๋ฅผ ์ง€๋‹Œ๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด, ๊ณ ์•ˆ๋œ ์ „๋ฌธํ™”๋œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ Database๋‹ค. Database๋ฅผ ์ด์šฉํ•˜๋ฉด ์†Œ์ค‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ณ  ํŽธ๋ฆฌํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋ณด๊ด€ํ•˜๊ณ  ์‚ฌ์šฉํ• ..

728x90
๋ฐ˜์‘ํ˜•