[Rust] MySQL ์‚ฌ์šฉํ•˜๊ธฐ

๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผํ• ๊ฑด... ๋‹น์—ฐํžˆ mysql์„ ์„ค์น˜ํ•ด๋†“๋Š” ๊ฒƒ์ด๋‹ค. ์—†์œผ๋ฉด ๊น”์ž.
https://blog.naver.com/sssang97/221652064727

๊ทธ๋ฆฌ๊ณ  ์Šคํ‚ค๋งˆ์™€ ํ…Œ์ด๋ธ”์„ ์ž˜ ๋งˆ๋ จํ•ด๋‘”๋‹ค.

์Šคํ‚ค๋งˆ ์ด๋ฆ„์€ test๊ณ , ํ…Œ์ด๋ธ”์€ names ํ•˜๋‚˜ ๋’€๋‹ค.
๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”์˜ ๊ฐ ์ปฌ๋Ÿผ์€ _id์™€ name ๋ฟ์ด๋‹ค.

๋‹ค ๋์œผ๋ฉด, rust์—์„œ๋„ ์—ฐ๋™์šฉ ํฌ๋ ˆ์ดํŠธ๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค.

์ด๊ฑฐ๋ฉด ๋œ๋‹ค.

์ด์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

๋จผ์ €... ๋Œ€์ƒ์ด ๋  ์‚ฌ์šฉ์ž๋ช…๊ณผ ํŒจ์Šค์›Œ๋“œ, ip์™€ ํฌํŠธ, ์Šคํ‚ค๋งˆ๋ช…์„ ์ƒ์ˆ˜๋กœ ์ •์˜ํ•ด๋†จ๋‹ค.
๊ท€์ฐฎ์œผ๋ฉด ๊ทธ๋ƒฅ ํ•˜๋“œ์ฝ”๋”ฉํ•ด๋„ ๋˜๊ณ ...


์ž˜ ์กฐํ•ฉํ•œ๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์‹œ์ž‘์ด๋‹ค.
Pool::new ๋ฉ”์„œ๋“œ๋กœ ์ € url์„ ๋„˜๊ฒจ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ž. ์—ฌ๊ธฐ์„œ ์—๋Ÿฌ๊ฐ€ ์•ˆ ๋œจ๋ฉด ์ž˜ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ select ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ ค์„œ ์กฐํšŒ๋ฅผ ํ•œ๋ฒˆ ํ•ด๋ณด์ž.

๋‚ ๋ฆฌ๋ฉด QueryResult๋กœ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ›์•„์˜จ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ €๊ฑด ๋ฐ˜๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
for in ๋ฌธ์œผ๋กœ ์ˆœํšŒ๋ฅผ ํ•˜๋ฉด, ๊ฐ ํ–‰(Row) ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์”ฉ ๋˜์ ธ์ฃผ๊ณ ,
๊ฐ Row ๊ฐ์ฒด๋Š” from_row ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ํ•ด์ฒดํ•ด์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌ๋ฉด ์ฒซ๋ฒˆ์งธ ์ปฌ๋Ÿผ์˜ ๊ฐ’์„ i32๋กœ ์ €์žฅ, ๋‘๋ฒˆ์งธ ์ปฌ๋Ÿผ์„ String์œผ๋กœ ๋ฐ›์•„์™€์„œ ์ž˜ ์ถœ๋ ฅํ•˜๊ฒŒ ๋œ๋‹ค.


์ด๋ ‡๊ฒŒ ๋ง์ด๋‹ค.

์ด๋ฒˆ์—” ์‚ฝ์ž…๋„ ํ•œ๋ฒˆ ํ•ด๋ณด์ž.
๋ฐฉ๋ฒ•์€ ๋Œ€๋žต ๋น„์Šทํ•˜๋‹ค...

์ €๊ธฐ์„œ :a์ฒ˜๋Ÿผ :๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด, ๊ทธ๊ฒŒ ๊ตฌ๋ฉ์ด ๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋šซ์–ด๋†“์€ ๊ตฌ๋ฉ์€ prep_exec์˜ ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ ์ฑ„์›Œ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.
์ธ์ž๋“ค์€ params ๋งคํฌ๋กœ๋กœ ๊ตฌ์„ฑํ•ด์„œ ์ „๋‹ฌํ•˜๋Š”๋ฐ... ํŒจํ„ด๋งค์นญ๊ณผ ์œ ์‚ฌํ•œ ํ‰ํƒœ๋ฅผ ์ง€๋‹Œ๋‹ค.
์œ„์˜ ์ฝ”๋“œ๋Š” a๋ผ๋Š” ๊ตฌ๋ฉ์„ "๊น€์ˆ˜ํ•œ๋ฌด"๋กœ ๋ฐ”๊ฟ”๋„ฃ์œผ๋ผ๋Š” ๋œป์ด๋‹ค.

๊ทธ๋Ÿผ ๋ญ, ์ž˜ ๋“ค์–ด๊ฐ„๋‹ค.

์ฐธ๊ณ ๋กœ, id๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ๋„ ๋“ค์–ด๊ฐ„๊ฑด, Auto_Increment๋กœ ํ•ด๋†”์„œ ๊ทธ๋ ‡๋‹ค.


์ฐธ์กฐ
https://docs.rs/mysql/17.0.0/mysql/