Programming/Python

python 에서 pymysql 이용해 mysql과 연결하기, CRUD 예제

📝 작성 : 2021.03.16  ⏱ 수정 : 
반응형

일단 MYSQL이 설치되어 있지 않다면 설치 및 초기 설정이 필요합니다.

shanepark.tistory.com/41

 

mac) MYSQL 설치 및 초기설정하기

HOMEBREW 패키지 설치를 이용해 설치하는게 가장 간단합니다. [ homebrew가 설치되어있지 않다면?] shanepark.tistory.com/45 Mac 에 homebrew 설치하기 brew.sh/index_ko Homebrew The Missing Package Manager f..

shanepark.tistory.com


pymysql 을 먼저 설치해야합니다.

보통 pip install pymysql 로 설치하는데,

anaconda3 를 설치해서 파이썬을 사용중이라면 conda에 설치해줘야 합니다. Terminal에 다음과 같이 입력합니다.

conda install pymysql

저는 이미 설치해서 이미 있다고 나오지만 없다면 설치가 됩니다.

혹시 conda 명렁어가 등록이 안되어 있다면 아래 글을 참고해서 먼저 등록하시면 됩니다.

shanepark.tistory.com/37

 

Terminal 에 conda 등록하기

conda 를 설치 한 뒤에 terminal 에서 conda를 써도 zsh 일 경우에는 command not found가 뜨는데요, vi ~/.zshrc 를 입력해서 vim을 통해 zshrc 파일을 수정해주면 됩니다. zshrc 파일을 처음 수정한다면 위와..

shanepark.tistory.com

 

 

이제 파이썬 코드를 작성하실때 pymysql 을 쓰면 import 해서 사용하실 수 있습니다.

C,R,U,D 예제 코드를 드릴테니 테스트 해보시고 본인 db 에 맞게 변경해서 사용하시면 됩니다.

 

import pymysql


db = pymysql.connect(host='localhost', user='root', db='python', password='python', charset='utf8')
curs = db.cursor()



sql = "select * from sample";

curs.execute(sql)

rows = curs.fetchall()
print(rows)

db.commit()
db.close()

select 문 예제입니다

 

import pymysql


db = pymysql.connect(host='localhost', user='root', db='python', password='python', charset='utf8')
curs = db.cursor()

sql = '''insert into sample (column01, column02, column03) values ('aa','bb','cc')
'''

curs.execute(sql)

sql = "select * from sample";
curs.execute(sql)

rows = curs.fetchall()
print(rows)

db.commit()
db.close()

insert문 예제입니다.

 

import pymysql


db = pymysql.connect(host='localhost', user='root', db='python', password='python', charset='utf8')
curs = db.cursor()

sql = '''
update sample set column01 = 'cc', column02 = 'bb'
where column01 = 'aa';
'''

curs.execute(sql)

sql = "select * from sample";
curs.execute(sql)

rows = curs.fetchall()
print(rows)

db.commit()
db.close()

update문 예제입니다.

 

import pymysql


db = pymysql.connect(host='localhost', user='root', db='python', password='python', charset='utf8')
curs = db.cursor()

sql = '''
delete from sample 
where column01 = 'cc'
'''

curs.execute(sql)

sql = "select * from sample";
curs.execute(sql)

rows = curs.fetchall()
print(rows)

db.commit()
db.close()

delete 문 예제입니다.

 

Sequel Pro 나 heidisql 에서 DB 변경 전후를 확인하면서 실행해보세요.

 

column01을 PK로 만들어 주려면 아래 쿼리를 날리면 됩니다.

alter table sample
add primary key (column01);

 

 

Table Info에 가면 Primary key가 추가된걸 확인 할 수 있습니다. 테이블 생성할때부터 Primary key를 설정해줄 수도 있습니다.

반응형