17 Wed
Last updated
Was this helpful?
Last updated
Was this helpful?
ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์ง์
์ด ๊ธฐ๋ฅ์ MySQL ์ ์ฉ์ ์๋
SQL ๊ธฐ๋ฐ DB๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก DB-API๋ผ๋ ํ์ค DB API๋ฅผ ์ ๊ณตํ๋ค.
์ด ๋ ํ์ํ ๊ฒ์ DB๊ธฐ์ ๊ณผ ์ฐ๊ฒฐํด์ฃผ๋ ๋๋ผ์ด๋ฒ
์ฝ๋ <-> ํ์ด์ฌ์ DB-API <-> MySQL ๋๋ผ์ด๋ฒ <-> MySQL
์ฝ๋๋ฅผ ๋ฐ๊พธ์ง ์์๋ DB ๊ธฐ์ ์ ์ธ์ ๋ ์ง ๋ฐ๊ฟ ์ ์๋ ์ฅ์ ์ด ์๋ค.
1 : MySQL์ ์ฐ๊ฒฐํ ๋๋ ๋ค์๊ณผ ๊ฐ์ 4๊ฐ์ง ์ ๋ณด๋ฅผ ์์์ผ ํ๋ค.
MySQL์ ์คํํ๋ ์ปดํจํฐ์ IP ์ฃผ์/์ด๋ฆ
์ฌ์ฉ์ ID
์ํธ
์ฌ์ฉ์ ID๋ก ์ด์ฉํ๋ ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
5 : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ผ์ด๋ธ๋ฅผ import ํ์ฌ DB-API๋ก MySQL ์ ์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ฐธ๊ณ ๋ก import๋ฌธ์ ํจ์์์ ๋ฃ๋ ์ผ์ ๊ต์ฅํ ์๋ชจ์ ์ธ ์ผ์ด๋ค. ์ธํฐํ๋ฆฌํฐ๊ฐ ํจ์ ํธ์ถ๋ง๋ค import ํ๊ธฐ ๋๋ฌธ.
6 : ์ด ํธ์ถ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ. ์ด ๋ ์ฐ๊ฒฐ ํน์ฑ ๋์ ๋๋ฆฌ๋ฅผ ์ ๋ฌํ๋ค.
์ฌ๊ธฐ์ **
์ ํฌ์ธํฐ๊ฐ ์๋๋ค. ์ดํ์ ์ค๋ช
7 : ์๋ฒ๋ก ๋ช ๋ น์ ์ ๋ฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ธฐ ์ํด์๋ ์ปค์๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
1 : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ณด๋ผ SQL ์ง์๋ฅผ ์ผ์ค๋ฐ์ดํ๋ก ๊ฐ์ธ๊ณ _SQL ๋ณ์๋ก ํ ๋นํ๋ค. ์ง์๋ ์ฌ๋ฌ ํ์ผ๋ก ๊ตฌ์ฑ๋ ์ผ์ด ๋ง๊ณ ์ผ์ค ๋ฐ์ดํ๋ฅผ ์ด์ฉํ๋ฉด ์ฌ๋ฌ ํ์ ํํํ๊ธฐ ํธํ๋ค.
2 : _SQL ๋ณ์์ ์ ์ฅ๋ ์ง์๋ฅผ MySQL๋ก ๋ณด๋ด ์คํํ๋ค.
3 : cursor.fetchall
๋ฉ์๋๋ก ์ง์์ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฒญํ๋ค.
cursor.fetchone
: ํ ํ์ ๋ฐํ ์์ฒญ
cursor.fetchmany
: ๋ฐ์ ํ์ ์๋ฅผ ์ง์
cursor.fetchall
: ๋ชจ๋ ๊ฒฐ๊ณผ ํ์ ๋ฐํ ์์ฒญ
1 : ํ๋ ์ฝ๋ฉ ํ์ฌ insert ๋ฌธ์ ์คํ. ํ ์ด๋ธ์ ์ ์ฅํ๋ ๊ฐ์ด ๋งค๋ฒ ๋ฐ๋๋ฏ๋ก ํ๋์ฝ๋ฉ์ ์ข์ง ์์. ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅ
4 , 5: DB-API ํ๋ ์ด์ค ํ๋๋ผ๊ณ ํ๋ฉฐ, ํ๋์ฝ๋ฉ ๋์ ์ธ์ฃ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ฌํ์ฉ ํ ์ ์๋ค.
1 : 2๋ฒ ํ์์ select๋ฅผ ํ ๋, ์ต๊ทผ์ ์ ์ฅ๋ ๋ด์ฉ์ด ๋ถ๋ฌ์ค์ง ์์์ง ์ ์๋ค. ์ด๋ฅผ ์ํด conn.commit()
์ ํตํด ์บ์์ ๋จ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ๊ธฐ๋กํ๋๋ก ๊ฐ์ ํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋์์ ๋น์ผ ์ฐ์ฐ(ํ๋ก์ธ์ฑ ์ฌ์ดํด ๊ด์ ์์) ์ด๊ธฐ ๋๋ฌธ์, ์บ์์ ์ ์ฅํ๋ ์ผ์ด ๋ค์์ด๋ค.
1, 3 : ์ฐ๊ฒฐ์ด ๋๋ ๋ค์๋ ๋ซ๋ ๊ฒ์ด ์ข๋ค.