database/MYSQL

python - mysql // 파이썬으로 my sql 실행하기

부엉이사장 2022. 9. 3. 00:55

## 파이썬 mysql 연결하기

 

# 모듈 설치

일단 모듈 pymysql을 설치해야한다.

pip install pymysql

 

# 모듈임포트

import pymysql

 

#커넥션 연결

conn = pymysql.connect(host='localhost', user="root", password="비번비번비번", db='studymysql', charset='utf8')

 

# 커서 지정

curs = conn.cursor()

 

# 쿼리문 실행하기

create = 'create table if not exists testtable (value1 varchar(10) not null, value2 varchar(10) not null, value3 varchar(10) not null)'
curs.execute(create)

# 커밋하기

conn.commit()

커밋하면 테이블내용이 바뀌는거임. select사용할때는 안해줘도되는듯.

create할때는 커밋없어도 테이블 만들어지는거같음.

 

# 커넥션 끊어주기

conn.close()

 

대충 이런식으로 실행이 된다.

 

 

 

# select 사용

sql_select = "select * from testtable where value2='바보야'"
curs.execute(sql_select)
rows = curs.fetchall()[0]

print(rows)

이러면 프린트값으로 (()) 이렇게 감싸져서 나오는데

난 js랑 연동할거니까 

 

curs = conn.cursor(pymysql.cursors.DictCursor)

이렇게 딕셔너리 사용할거라고 해주고 curs.execute, curs.fetchall()해줘야함.

예시 : 

cursN = conn.cursor()
cursD = conn.cursor(pymysql.cursors.DictCursor)

커서 지정

sql_select = "select * from testtable where value1='바보야'"
cursN.execute(sql_select)
rowN = cursN.fetchall()
cursD.execute(sql_select)
rowD = cursD.fetchall()

print(rowN)
print(rowD)

실행하면 이렇게 두개가 뜸.

음..파이썬에서만 쓸거면 딕셔너리커서는 딱히 필요없을것같음..

 

 

 

# insert delete update 사용

얘네는 

conn.commit()

이렇게 해줘야함.