본문 바로가기
파이썬

파이썬에서 mysql 연동하기

by zgabriel 2024. 11. 21.
728x90

파이썬에서 mysql 연동하는 커넥터의 종류는 여러가지 있으나 보통 아래 2가지중 하나를 사용한다.

 . Pymysql, mysqlclient

사용법은 둘다 비슷한데 성능이 우수한 mysqlclient 를 많이 사용한다. (c로 만들어져서 빠르다고 한다 )

일단 기본 소스는 아래와 같다. 

import MySQLdb

db = MySQLdb.connect(host='localhost', user='root', password='1234', db='db name') 
cur = db.cursor()

#SELECT 
sql = 'select * from member'  
cur.execute(sql)  
row = cur.fetchall()   
print(row)

#한줄 데이터 조회
row = cur.fetchone()
print(row)

#fetchone()을 이용하여 루프를 돌면서 모든 데이터 출력하기
whilt True:
row = cur.fetchone()  # 데이터를 한줄씩 가져옴
    if row:      # row 데이터가 있으면
     print(row)
    else:   # row 데이터가 없으면
     break   # loop를 멈춤

#dict형식의 cursor에서 필드이름으로 원하는 데이터 출력하기
while True:
row = cur.fetchone()
    if row:   # 필드이름을 dict의 key로 가져올 수 있음
     print(f"아이디: {row['userid']}, 이름: {row['username']}, 전화번호: {row['hp']}, 이메일: {row['email']}, 성별: {row['gender']}")
     else:
        break

#INSERT (UPDATE, DELETE 동일형식)
sql = "insert into member (id, pw, name) values ('id', 'pw', 'name')"
cur.execute(sql)
db.commit 

 

#data를 사용하여 INSERT 하기

sql = "insert into member (id, pw, name) values ('%s', ' %s ', ' %s ')"
data = ( 'id', 'pw', 'name')

cur.execute(sql, data)
db.commit 

 

data = [ ( 'id1', 'pw1', 'name1'), ( 'id2', 'pw2', 'name2')]

cur.execute(sql, data)
db.commit 

#CLOSE
cur.close()
db.close()

 

반응형