์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๋์ ํฉ
- ์๋ฃ๊ตฌ์กฐ
- ์๊ณ ๋ฆฌ์ฆ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- DFS
- ํ์ด์ฌ
- ๊ตฌํ
- db
- ์ํ
- ๋ฐฑ์ค
- SQL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์์ํ์
- ๋จธ์ง์ํธ
- ์์๊ตฌํ๊ธฐ
- ์ ๋ ฌ
- ๋์ ๊ณํ๋ฒ
- LIS
- ๋ณํฉ์ ๋ ฌ
- ์ฐ์ ์์ํ
- ๋๋น์ฐ์ ํ์
- ๊ทธ๋ฆฌ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ค๋ธ์
- DP
- ๊ทธ๋ํ
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ๊ทธ๋ํํ์
- BFS
- ๊น์ด์ฐ์ ํ์
๐๐ญ๐ฐ๐ธ ๐ฃ๐ถ๐ต ๐ด๐ต๐ฆ๐ข๐ฅ๐บ
[๋ฐ์ดํฐ๋ฒ ์ด์ค/DB] SQL - 4. pymysql๋ก MySQL ์๋ฒ ์ฐ๊ฒฐํ๊ณ ์ฌ์ฉํ๊ธฐ ๋ณธ๋ฌธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค/DB] SQL - 4. pymysql๋ก MySQL ์๋ฒ ์ฐ๊ฒฐํ๊ณ ์ฌ์ฉํ๊ธฐ
.23 2022. 4. 12. 22:554. pymysql
mysql์ python์ ํตํด ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ library.
pip install pymysql
์ผ๋ฐ์ ์ผ๋ก ์์ ๊ฐ์ ๋ช ๋ น์ด๋ก ๊ฐ๋จํ๊ฒ ์ค์นํ ์ ์๋ค.
4.1 pymysql ์ฌ์ฉ
import pymysql
์ฝ๋ ๋ด์์ pymysql์ importํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
4.1.1 pymysql ์ฐ๊ฒฐ
db = pymysql.connect(
host='127.0.0.1',
port=3306,
user='(user ์ด๋ฆ)',
passwd='(์ฌ์ฉํ๋ mysql password)',
db='(์ฌ์ฉํ db ์ด๋ฆ)',
charset='utf8'
)
- host : ์ฌ์ฉํ mysql ์๋ฒ์ ์ฃผ์, ์ฌ๊ธฐ์ local db๋ฅผ ์ฌ์ฉํ ์์ ์ด๋ฏ๋ก 127.0.0.1์ ๋ฃ์๋๋ฐ, ์๋๋ฐฉ์ ์๋ฒ์ ์ ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ
ipconfig getifaddr en0
ip๋ฅผ ์ป์ด์ค๋ ๋ช ๋ น์ด๋ฅผ ํตํด ip ์ฃผ์๋ฅผ ์ป์ด์ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค.
- port : sql ์๋ฒ๊ฐ ์์นํ ํฌํธ๋ฒํธ. ์ผ๋ฐ์ ์ผ๋ก mysql์ 3306์ ์ฌ์ฉํ๋ค.
- user : ์ฌ์ฉ์ ์ด๋ฆ
- passwd : mysql ์๋ฒ ๋น๋ฐ๋ฒํธ
- db : ์ฌ์ฉํ db ์ด๋ฆ
- charset : ํ๊ธ ์ธ์ฝ๋ฉ์ ์ํด utf-8์ ์ฌ์ฉํ๋ค.
4.1.2 ์ปค์ ์ง์
cursor = db.cursor()
์ฌ์ฉํ cursor๋ฅผ ์ ์ธ.
4.1.3 sql๋ฌธ ์์ฑ
# DB ์ฝ์
(INSERT)
sql = 'INSERT INTO [TABLE_NAME] VALUES (...);'
# DB ๊ฒ์(SELECT)
sql = 'SELECT * FROM [TABLE_NAME]'
# DB ์ญ์ (DELETE)
sql = 'DELETE FROM [TABLE_NAME]'
# SQL๋ฌธ ์คํ
cursor.execute(sql)
db.commit()
์ผ๋ฐ sql๋ฌธ์ ์์ฑํด์ฃผ๋ฏ์ด ๋ฌธ์์ด ๋ณ์์ ํ์ํ ๋ด์ฉ์ ์์ฑํ ๋ค, cursor.execute(sql)์ ํตํด sql๋ฌธ์ ์คํ์์ผ์ค๋ค.
๐ SQL - 1. ๋ฐ์ดํฐ ์ ์์ด(DDL) ์ ๋ฆฌ
๐ SQL - 2. ๋ฐ์ดํฐ ์กฐ์์ด(DML) ์ ๋ฆฌ
๐ SQL - 3. ๋ฐ์ดํฐ ์ ์ด์ด(DCL) ์ ๋ฆฌ
์ด ๋, ๋ฐ์ดํฐ๋ ํ ์ด๋ธ์ ์์ฑ/์ญ์ /์์ ๋ฑ์ ๋ณ๊ฒฝ์ด ํ์ํ ์ฐ์ฐ์ด ์์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํด์ฃผ๊ธฐ ์ํด โผ๏ธ๊ผญโผ๏ธ db.commit()์ ์ ์ด์ค๋ค.
4.1.4 ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
result = cursor.fetchall()
SELECT๋ฌธ์ ํตํด DB๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์ผ๋ฉด cursor.fetchall()์ ํตํด ํํ๋ค์ ๋ฆฌ์คํธ ํํ๋ก ๋ฐํ๋ฐ์ ์ ์๋ค.
- cursor.fetchall() : ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์ด
- cursor.fetchmany(size=n) : n๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ด
- cursor.fetchone() : ๊ฒฐ๊ณผ๋ฅผ ํ๋ ๊ฐ์ ธ์ด
4.1.5 ์ฐ๊ฒฐ ์ข ๋ฃ
db.close()
+ ์ ์ฒด ์ฝ๋ ์์
import pymysql
db = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='pwd',
db='databases',
charset='utf8',
port=3306
)
cursor = db.cursor()
sql = '''
SELECT TERM_IDX FROM TERM_DIC
WHERE TERM LIKE %s
'''
cursor.execute(sql, j)
idx = cursor.fetchall()
db.commit()
db.close()