python mysql 연결

BackEnd_Ash.log·2020년 12월 16일
0

파이썬

목록 보기
23/34

만약 Django , Flask 를 사용하게 된다면 다른 방식으로 mysql 연동을 하겠지만 ,
그렇지 않고 python 파일에서 , mysql 연동해서 들고 올 경우에 생각을 해서 작성했습니다.

당연히 mac 환경에 mysql 설치가 되어있어야 한다.

brew install mysql

가상환경 셋팅

pip install PyMySQL

mysql 연동 쿼리

select

import pymysql

# 연결
db_conn = pymysql.connect(
        user   = 'root',
        passwd = 'password',
        host   = 'localhost',
        db     = 'db_name')

# connection cursor 생성
cursor = db_conn.cursor(pymysql.cursors.DictCursor)
cursor.execute(
    "SELECT first_name,last_name FROM employees WHERE first_name=?", 
    (some_name,))
# 데이타 Fetch
rows = curs.fetchall()
print(rows)
db_conn.close()

DictCursor

import pymysql

# 연결
db_conn = pymysql.connect(
        user   = 'root',
        passwd = 'password',
        host   = 'localhost',
        db     = 'db_name')

# connection cursor 생성
cursor = db_conn.cursor(pymysql.cursors.DictCursor)
cursor.execute(
    "SELECT first_name,last_name FROM employees WHERE first_name=?", 
    (some_name,))
# 데이타 Fetch
rows = curs.fetchall()
print(rows)
db_conn.close()

DictCursor 를 사용하게 되면 딕셔너리로 받게된다 .

insert

insert 도 사실 select 랑 마찬가지이다 .

뭔가 그냥 insert 문이 바뀐거 뿐이다.

import pymysql

# 연결
db_conn = pymysql.connect(
        user   = 'root',
        passwd = 'password',
        host   = 'localhost',
        db     = 'db_name')

# connection cursor 생성
cursor = db_conn.cursor(pymysql.cursors.DictCursor)
cursor.execute(
    "INSERT INTO employees (first_name,last_name) VALUES (?, ?)", 
    (first_name, last_name))
# 데이타 Fetch
db_conn.commit() 
db_conn.close()
profile
꾸준함이란 ... ?

0개의 댓글