만약 Django , Flask 를 사용하게 된다면 다른 방식으로 mysql 연동을 하겠지만 ,
그렇지 않고 python 파일에서 , mysql 연동해서 들고 올 경우에 생각을 해서 작성했습니다.
당연히 mac 환경에 mysql 설치가 되어있어야 한다.
brew install mysql
pip install PyMySQL
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 도 사실 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()