๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[TIL] 220113 ๋ณธ๋ฌธ

TIL

[TIL] 220113

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2022. 1. 13.
728x90

๐Ÿ’ป Today I Leaned...

๐Ÿ“Œ ์•ˆ๋“œ๋กœ์ด๋“œ ์ž…๋ฌธ

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ

  • ๋™๊ธฐ : ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์‘๋‹ต์ด ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ. ์‘๋‹ต์„ ๋ฐ›์€ ํ›„์— ๋‹ค์Œ ์ค„์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ๋น„๋™๊ธฐ : ํ•จ์ˆ˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋ฉด ๋ฐ”๋กœ ๋‹ค์Œ ์ค„์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๋”ฐ๋ผ์„œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ํ™”๋ฉด์„ ์ž์œ ๋กญ๊ฒŒ ์›€์ง์ด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์œ„์น˜ ๊ธฐ๋ฐ˜ ์–ดํ”Œ ๋งŒ๋“ค๊ธฐ

  • ๋งต์— ๋Œ€ํ•ด์„œ fragment๋กœ ์ •์˜ํ•˜๋Š”๋ฐ, fragment๋Š” ์ „์ฒด ์•กํ‹ฐ๋น„ํ‹ฐ ํ™”๋ฉด ์ค‘ ํŠน์ • ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•œ๋‹ค. ๊ทธ ์˜์—ญ์— ๋งต์„ ๋„์šด๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์•ฑ๊ณผ ์„œ๋ฒ„์™€ ์—ฐ๋™ ๊ฐœ๋ฐœ

ํด๋ผ์ด์–ธํŠธ(App)๊ฐ€ ํ˜ธ์ถœ์„ ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์•ฑ๊ณผ ์„œ๋ฒ„๊ฐ€ ์—ฐ๋™์ด ๋˜๋Š”๋ฐ, ์•ฑ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋‹ค๋ฅด๋‹ค.

  •  ์›น์•ฑ : ์›น์„œ๋ฒ„์—์„œ ์‘๋‹ต์„ ๋ฐ›๊ณ  ๊ทธ ๋ชจ์–‘ ์ž์ฒด๊ฐ€ ๋ชจ๋ฐ”์ผ์—์„œ ์ž˜ ๋ณด์ด๊ฒŒ๋” ๋งŒ๋“ ๋‹ค. ๋˜๋Š” ์•„์˜ˆ ๋ชจ๋ฐ”์ผ ์ „์šฉ ์„œ๋ฒ„๋ฅผ ๋ณ„๋„๋กœ ์ค€๋น„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
  • ๋„ค์ดํ‹ฐ๋ธŒ์•ฑ : API๋กœ ํ˜ธ์ถœํ•˜๋ฉฐ, ๋ณดํ†ต xml๋กœ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ json์œผ๋กœ ์‘๋‹ต์„ ๋ฐ›๋Š”๋‹ค. API๋Š” ์–ด๋–ค ์„œ๋ฒ„์— ๊ฐ’๋“ค์„ ์š”์ฒญํ•  ๋•Œ(๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ) ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“Œ ์ƒํ™œ์ฝ”๋”ฉ - DATABASE2 - MySQL

SQL์˜ SELECT ๊ตฌ๋ฌธ

๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์ฝ๊ธฐ๋Š” ๋งค์šฐ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์— ์ถฉ์‹คํ•  ๊ฒƒ!

์บก์ณํ™”๋ฉด์—์„œ๋Š” ๋น ์กŒ์ง€๋งŒ mysql -u root -p; ์ž…๋ ฅ ํ›„ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์น˜๊ณ  mysql๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ์ง€๋‚œ๋ฒˆ์— ํ–ˆ๋˜๋Œ€๋กœ USE opentutorials; ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋งŒ๋“ค์—ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„, SHOW TABLES;๋ฅผ ์ด์šฉํ•˜์—ฌ 'topic' ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•œ๋‹ค.

SELECT *  FROM topic;

๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด topic์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ชจ๋“  ํ–‰์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ–‰ ์ œํ•œํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ธฐ

๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ–‰๋งŒ ์ถœ๋ ฅํ•˜๊ณ ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? SELECT์™€ FROM ์‚ฌ์ด์— ๋‚ด๊ฐ€ ํ‘œ์‹œํ•˜๊ณ ์‹ถ์€ ์ปฌ๋Ÿผ๋“ค์˜ ๋ชฉ๋ก์„ ์ ์–ด์ค€๋‹ค. ๊ทธ๋ ‡๊ฒŒํ•˜๋ฉด ๋‚ด๊ฐ€ ์ ์ง€์•Š์€ ํ–‰์€ ์ˆจ๊ฒจ์ง€๋Š” ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

์œ„ ์˜ˆ์‹œ๋„ ํ•จ๊ป˜ ๋ณด๋ฉด SELECT ๋’ค์—๋Š” ์ปฌ๋Ÿผ์˜ ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์„ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. (FROM์ด ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ๋„!)

 

์›ํ•˜๋Š” ํ–‰์˜ ๊ฐ’์„ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ธฐ

๋งŒ์•ฝ 'author'์˜ ๊ฐ’์ด 'gom'์ธ ๋ฐ์ดํ„ฐ๋งŒ์„ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ๋ฐ”๋กœ WHERE๋ฌธ์„ ํ†ตํ•ด ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ mysql select syntext ๊ฒ€์ƒ‰์–ด๋กœ select ๋ฌธ๋ฒ•์˜ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์„ ๋ณด๋ฉด, WHRER์€ FROM ๋‹ค์Œ์— ์œ„์น˜ํ•ด์•ผํ•œ๋‹ค. ๋งŒ์•ฝ ์ด ์œ„์น˜๊ฐ€ ํ‹€๋ฆฌ๋ฉด ๋ฌธ๋ฒ•์ ์ธ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

์œ„ ์ฝ”๋“œ๋Š” WHERE๋กœ 'author'์˜ ๊ฐ’์ด 'gom'์ธ ๋ฐ์ดํ„ฐ๋งŒ์„ ์ถœ๋ ฅํ•˜๊ณ , ORDER๋ฅผ ์ด์šฉํ•˜์—ฌ id๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋‚ด์šฉ์ด๋‹ค. ๋ฌธ๋ฒ•์ด ์ง๊ด€์ ์ด๋ผ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€์ง„ ์•Š์ง€๋งŒ, ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ topic ํ…Œ์ด๋ธ”์— 10์–ต๊ฑด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋Š” ์ƒํ™ฉ์—์„œ SELECT *  FROM topic;์„ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ์•„๋งˆ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฉˆ์ถฐ๋ฒ„๋ฆด ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์•ฝ์„ ๊ฑธ์–ด์•ผํ•œ๋‹ค. 

์ด๋Ÿฐ ๊ธฐ๋Šฅ๋“ค์„ ์ ์ ˆํžˆ ์ด์šฉํ•˜์—ฌ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ์ง€๋ฅผ SELECT ํ•  ์ˆ˜ ์žˆ๋‹ค.

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 220118  (0) 2022.01.18
[TIL] 220117  (0) 2022.01.17
[TIL] 220112  (0) 2022.01.12
[TIL] 220111  (0) 2022.01.11
[TIL] 220110  (0) 2022.01.10