1.ํ
์ด๋ธ ๋ด์ฉ ๋ณด๊ธฐ
select * from ํ
์ด๋ธ๋ช
๋ฑ๊ณผ ๊ฐ์ด sql ์ฟผ๋ฆฌ๋ฅผ ํตํด ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๋ฉด ๋๋ค.
2.๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
colab ์ ํตํด ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถ
์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๋ถ์์ ํ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถ
์ด๋ฒ ํ๋ก์ ํธ์์๋ ํ์ดํ ๋ผ์ธ์ ๊ตฌ์ถํ๋ ๊ฒ์ ์ค์ ์ ์ฃผ์๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๊ฒ์ธ์ง์
๋ํด์๋ ํฌ๊ฒ ๊ณ ๋ คํ์ง ์์๋ค.
3.mysql ์ฐ๋๋ฐฉ๋ฒ
์ผ๋ฐ์ ์ธ mysql ํธ๋ค๋ง ์ฝ๋ ์์ฑ ์์
- PyMySql ๋ชจ๋ import
- pymysql.connect() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ MySQL์ ์ฐ๊ฒฐ
- ํธ์คํธ๋ช , ํฌํธ, ๋ก๊ทธ์ธ, ์ํธ, ์ ์ํ DB ๋ฑ์ ํ๋ผ๋ฏธํฐ๋ก ์ง์
- MySQL ์ ์์ด ์ฑ๊ณตํ๋ฉด, Connection ๊ฐ์ฒด๋ก๋ถํฐ cursor() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ Cursor ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ด
- Cursor ๊ฐ์ฒด์ execute() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ SQL ๋ฌธ์ฅ์ DB ์๋ฒ์ ์ ์ก
- SQL ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ Cursor ๊ฐ์ฒด์ fetchall(), fetchone(), fetchmany() ๋ฑ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ก๋ถํฐ ๊ฐ์ ธ์จ ๋ฐ์ดํ๋ฅผ ์ฝ๋์์ ํ์ฉ
- ์ฝ์ , ๊ฐฑ์ , ์ญ์ ๋ฑ์ DML(Data Manipulation Language) ๋ฌธ์ฅ์ ์คํํ๋ ๊ฒฝ์ฐ, INSERT/UPDATE/DELETE ํ Connection ๊ฐ์ฒด์ commit() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํ๋ฅผ ํ์
- Connection ๊ฐ์ฒด์ close() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ DB ์ฐ๊ฒฐ์ ๋ซ์
- pymysql.connect() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ MySQL์ ์ฐ๊ฒฐ
- ํธ์คํธ๋ช , ํฌํธ, ๋ก๊ทธ์ธ, ์ํธ, ์ ์ํ DB ๋ฑ์ ํ๋ผ๋ฏธํฐ๋ก ์ง์
- ์ฃผ์ ํ๋ผ๋ฏธํฐ
- host : ์ ์ํ mysql server ์ฃผ์
- port : ์ ์ํ mysql server ์ ํฌํธ ๋ฒํธ
- user : mysql ID
- passwd : mysql ID์ ์ํธ
- db : ์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- charset='utf8' : mysql์์ selectํ์ฌ ๋ฐ์ดํ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ํ๊ธ์ด ๊นจ์ง ์ ์์ผ๋ฏ๋ก ์ฐ๊ฒฐ ์ค์ ์ ๋ฃ์ด์ค
- ์ฐ๊ฒฐ์ฑ๊ณต์
-
- MySQL ์ ์์ด ์ฑ๊ณตํ๋ฉด, Connection ๊ฐ์ฒด๋ก๋ถํฐ cursor() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ Cursor ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ด
- Cursor ๊ฐ์ฒด์ execute() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ SQL ๋ฌธ์ฅ์ DB ์๋ฒ์ ์ ์ก
- ํ
์ด๋ธ ์์ฑ
- Cursor Object ๊ฐ์ ธ์ค๊ธฐ: cursor = db.cursor()
- SQL ์คํํ๊ธฐ: cursor.execute(SQL)
- ์คํ mysql ์๋ฒ์ ํ์ ๋ฐ์ํ๊ธฐ: db.commit()
- cursor ๋ control structure of database ์ ๋๋ค. (์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ก ๋ณด์ ๋ ์ข์ต๋๋ค.)
๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ฐ์ดํฐ ์กฐํ(SELECT)
- Cursor Object ๊ฐ์ ธ์ค๊ธฐ: cursor = db.cursor()
- SQL ์คํํ๊ธฐ: cursor.execute(SQL)
- mysql ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ: fetch ๋ฉ์๋ ์ฌ์ฉ
- fetchall(): Fetch all the rows
- fetchmany(size=None): Fetch several rows
- fetchone(): Fetch the next row
4. ์ข ๋ฃ
sys.exit()
ํน๋ณํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ๋งค๊ฐ๋ณ์ ์์ด sys.exit()๋ฅผ ํธ์ถํ์ฌ ์ข ๋ฃ์ํฌ ์ ์์ต๋๋ค. sys๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํด import ์์ผ์ฃผ์ด์ผ ํฉ๋๋ค.
import sys print('ํ๋ก๊ทธ๋จ ์์') sys.exit() print('์คํ์๋จ!') |
๋ง์ฝ sys.exit(์ ์) ํํ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ํด๋น ์ซ์๋ฅผ ์ข ๋ฃ ์ํ์ฝ๋๋ก ๋ฆฌํดํฉ๋๋ค.
import sys print('ํ๋ก๊ทธ๋จ ์์') sys.exit(30) print('์คํ์๋จ!') |
5.with as ๊ตฌ๋ฌธ
ํ์ด์ฌ์ with...as ๊ตฌ๋ฌธ์ ํ์ผ ์คํธ๋ฆผ์ ๋ค๋ฃจ๋๋ฐ ์์ด์ ํ์ด์ฌ์์ ์ ๊ณตํ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ ์ค ํ๋์ ๋๋ค. ํ์ผ์ ๋ค๋ฃจ๋ ์ฒ๋ฆฌ๋ฅผ ํ ๋๋ ํ์์ ์ผ๋ก ํ์ผ ์คํ(open) ํ์ผ ๋ซ๊ธฐ(close) ๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ฉด์ ๊ฐ๋ฐ์๋ ํ์ผ์ ์ด์ด๋๊ณ ๋ซ์ง ์๋ ์ค์๋ฅผ ํ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค. with ... as ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํ์ผ์ ์ด๊ณ ํด๋น ๊ตฌ๋ฌธ์ด ๋๋๋ฉด ์๋์ผ๋ก ๋ซํ๊ฒ ๋์ด์ ์ด๋ฌํ ์ค์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. ๋ฌธ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
with open(ํ์ผ ๊ฒฝ๋ก, ๋ชจ๋) as ํ์ผ ๊ฐ์ฒด:
์ฒ๋ฆฌ ์ฝ๋
with open("sample.txt", "w") as file:
file.write("It's simple code")
์ ์ฝ๋๋ closeํจ์๊ฐ ์์ง๋ง with as ๊ตฌ๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ ๋๋ฉด ์๋์ผ๋ก close() ํจ์๋ฅผ ํธ์ถํ์ฌ ํ์ผ์ ๋ซ์ต๋๋ค. with as ๊ตฌ๋ฌธ์ ์ด์ฒ๋ผ ํ์ผ ์คํธ๋ฆผ์ ์์ฝ๊ฒ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ์ ์ ์ฉํ์ง๋ง ๋คํธ์ํฌ ์คํธ๋ฆผ์ ๋ค๋ฃจ๋ ์์ผ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ฐ์ ๊ณณ์์๋ ํ์ฉํ ์ ์์ต๋๋ค.
'๐๏ธ์ํํธ์จ์ด > ๐SQL & MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL] ์์ฝ์ด ์๋ ๋๋ฌธ์ (0) | 2021.10.29 |
---|---|
[MySQL] index ์ฌ์ฉ๋ฒ (0) | 2021.10.28 |
[MySQL] Trigger ์ฌ์ฉํ๊ธฐ (0) | 2021.10.28 |
[MySQL] ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ธํ (0) | 2021.10.27 |
[Oracle SQL]sql developer ๋ฐ sql DB eclipse jsp์์ ์ฐ๋ํ๊ธฐ (0) | 2021.09.15 |