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

๋ชฉ๋ก๐Ÿ›ข๏ธDB/MySQL (27)

ruriruriya

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ํŽ˜์ด์ง•(paging)์— ์‚ฌ์šฉ๋˜๋Š” limit์™€ offset

LIMIT ๊ณผ OFFSET์€ MySQL์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฒฐ๊ณผ๋ฅผ ํŽ˜์ด์ง•ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋˜๋Š” ์ ˆ์ด๋‹ค. ํŠนํžˆ, ํฐ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ผ๋ถ€ ๊ฒฐ๊ณผ๋งŒ์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์›ํ•˜๋Š” ํŽ˜์ด์ง€์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. LIMIT: ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜ํ•  ํ–‰์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค. OFFSET: ๊ฒฐ๊ณผ์—์„œ ๊ฑด๋„ˆ๋›ธ ํ–‰์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ฒฐ๊ณผ์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ”(books) limit ํ‚ค์›Œ๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ๋Š์–ด์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ž์ฃผ ์“ฐ์ธ๋‹ค.(โ˜…์ค‘์š”โ˜…) ์˜คํ”„์…‹์€ ์‹œ์ž‘ํ•˜๋Š” ์ง€์ , ๊ฐœ์ˆ˜๋Š” ๊ทธ ๋’ค๋กœ ๊ฐœ์ˆ˜๋ฅผ ๋œปํ•œ๋‹ค. limit ์˜คํ”„์…‹, ๊ฐœ์ˆ˜; books ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ 5๊ฐœ๋งŒ ๊ฐ€์ ธ์˜ค์‹œ์˜ค. select * from books limit 0, 5; -- ์˜คํ”„์…‹, ๊ฐœ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์œ„์˜ 5๊ฐœ ์ดํ›„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋˜ 5๊ฐœ๋งŒ ๊ฐ€์ ธ์˜ค์‹œ์˜ค. sele..

๐Ÿ›ข๏ธDB/MySQL 2023. 11. 29. 19:26
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ์ปฌ๋Ÿผ๋ช… ๋„์–ด์“ฐ๊ธฐ/๊ณต๋ฐฑ ์‹œ ์“ฐ๋Š” ์–ต์Œ๋ถ€ํ˜ธ(`) ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

MySQL์—์„œ๋Š” ์ปฌ๋Ÿผ๋ช…์— ๋„์–ด์“ฐ๊ธฐ๋‚˜ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•  ๋•Œ, ํ•ด๋‹น ์ปฌ๋Ÿผ์„ ์–ต์Œ๋ถ€ํ˜ธ(๋ฐฑํ‹ฑ, backtick)๋กœ ๊ฐ์‹ธ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MySQL์—์„œ ์˜ˆ์•ฝ์–ด๋‚˜ ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ์ปฌ๋Ÿผ๋ช…์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ต์Œ๋ถ€ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋Ÿผ๋ช…์„ ๊ฐ์‹ธ๋ฉด MySQL์€ ํ•ด๋‹น ์ด๋ฆ„์„ ํ•˜๋‚˜์˜ ์‹๋ณ„์ž๋กœ ์ธ์‹ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด MySQL ์˜ˆ์•ฝ์–ด์™€ ๊ตฌ๋ถ„ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๊ณต๋ฐฑ์ด๋‚˜ ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ์ปฌ๋Ÿผ๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ต์Œ๋ถ€ํ˜ธ(`)๋ฅผ ์‚ฌ์šฉํ•œ ๋„์–ด์“ฐ๊ธฐ/๊ณต๋ฐฑ ์žˆ๋Š” ์ปฌ๋Ÿผ๋ช… ์‚ฌ์šฉํ•˜๊ธฐ full name์œผ๋กœ ์ •๋ ฌํ•˜์„ธ์š”. select *,concat(author_fname,' ',author_lname) as `full name` from books order by `full name` asc; ๋‹ค๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ์ปฌ๋Ÿผ๋ช…์—..

๐Ÿ›ข๏ธDB/MySQL 2023. 11. 29. 19:16
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ๋ฐ์ดํ„ฐ ์ค‘๋ณต์ œ๊ฑฐ distinct

DISTINCT๋Š” SQL์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์›Œ๋“œ๋กœ, ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ(ํ–‰)๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์œ ์ผํ•œ ๊ฐ’๋งŒ์„ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ค‘๋ณต๋œ ๊ฐ’์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์œ ์ผํ•œ ๊ฐ’๋“ค์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™œ์šฉํ•  ํ…Œ์ด๋ธ”(books Table) distinct ํ‚ค์›Œ๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์ œ๊ฑฐํ•ด์„œ ์œ ๋‹ˆํฌํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ค๋Š” ํ‚ค์›Œ๋“œ(ํ•จ์ˆ˜ ์•„๋‹˜!) author_lname์€ ์นดํ…Œ๊ณ ๋ฆฌ์ปฌ ๋ฐ์ดํ„ฐ์ด๋‹ค.( ์ค‘๋ณต ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Œ. ) ์ด ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ๋‹ˆํฌํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ค์ž. select distinct author_lname from books; full name์œผ๋กœ, ์ค‘๋ณต์ œ๊ฑฐํ•ด์„œ ์œ ๋‹ˆํฌํ•˜๊ฒŒ ์ด๋ฆ„ ๊ฐ€์ ธ์˜ค์ž. select distinct concat(author_fname,' ',author_lname) as 'full name' from..

๐Ÿ›ข๏ธDB/MySQL 2023. 11. 29. 18:58
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ Update ํ•˜๊ธฐ

MySQL์—์„œ UPDATE ๋ฌธ์€ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ธฐ์กด ๋ ˆ์ฝ”๋“œ(ํ–‰)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ๋‚ด์˜ ํŠน์ • ํ–‰์ด๋‚˜ ์—ฌ๋Ÿฌ ํ–‰์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์ œ๋“ค๋กœ ํ–‰์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋ณด์ž. ์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ” UPDATE ํ…Œ์ด๋ธ”์ด๋ฆ„ SET ์—…๋ฐ์ดํŠธํ•  ์ปฌ๋Ÿผ๋ช…1 = ๋ณ€๊ฒฝ ํ›„ ๊ฐ’1, ์—…๋ฐ์ดํŠธํ•  ์ปฌ๋Ÿผ๋ช…2 = ๋ณ€๊ฒฝ ํ›„ ๊ฐ’2, ... WHERE ๋ณ€๊ฒฝ ๊ธฐ์ค€ ์ปฌ๋Ÿผ๋ช… = ๋ณ€๊ฒฝ ๊ธฐ์ค€ ๊ฐ’; WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•  ํ–‰์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์ ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์ด ์ง€์ •๋œ ๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ์—…๋ฐ์ดํŠธ๋œ๋‹ค. ์˜ˆ์ œ01 / polo ์…”์ธ ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ M๋กœ ๋ฐ”๊พธ์„ธ์š”. update shirts set shirt_size = 'M' where article = 'polo shirt'; select..

๐Ÿ›ข๏ธDB/MySQL 2023. 11. 29. 18:02
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ํ…Œ์ด๋ธ” Select ํ•˜๊ธฐ(์›ํ•˜๋Š” ์ปฌ๋Ÿผ, ๋ฐ์ดํ„ฐ๋งŒ)

MySQL์—์„œ SELECT๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค. SELECT ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์—ด(column)์ด๋‚˜ ๋ชจ๋“  ์—ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ํ…Œ์ด๋ธ”๋กœ ์˜ˆ์ œ๋ฅผ ํ’€์–ด๋ณด์ž. 1. ์›ํ•˜๋Š” ์ปฌ๋Ÿผ๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ -- ๋ชจ๋“  ์…”์ธ ์˜ article ๊ณผ color๋ฅผ ๊ฐ€์ ธ์˜ค์‹œ์˜ค select article, color from shirts; 2. ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์กฐ๊ฑด์œผ๋กœ ์›ํ•˜๋Š” ์ปฌ๋Ÿผ๊ณผ ํ•ด๋‹น ํ–‰๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ -- medium ์‚ฌ์ด์ฆˆ์˜ ์…”์ธ ์—์„œ, shirt_id๋งŒ ๋นผ๊ณ  ์ „์ฒด ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค์‹œ์˜ค select article, color, shirt_size, last_worn from shirts where shirt_size = 'M'; SELECT๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๋ณด๋ฅผ ์ฝ๋Š” ๋ฐ ..

๐Ÿ›ข๏ธDB/MySQL 2023. 11. 29. 17:40