Preface
이번 장에선 파이썬과 MySQL의 연동 방법을 알아봤다.
특별한 방법이 있는 것은 아니고, 일반적인 파이썬 코드를 작성한 후 execute( ) 함수 안에 sql 문을 작성하기만 하면 된다고 한다.
이 부분 역시 나중에 본격적으로 사용해야 할 때가 오면 추가적인 공부를 해야할 것 같다.
또, 책의 마지막 부분에 tkinter를 사용하여 gui로 DB를 조작하는 코드와 공간 데이터를 gui에 표현하는 코드도 있었는데, 지금 상태에선 굳이 다룰 필요가 없을 것 같아 한 번 훑어보기만 했다.
이번 장을 마지막으로 드디어 "이것이 MySQL이다" 책을 모두 마쳤다.
7월이 되기 전에 마무리하고 다음 책으로 넘어갈 계획이었지만, 어쩌다보니 책 한 권을 너무 오랬동안 붙잡고 있었다.
이번에 공부할 웹은 8월 중순까진 꼭 끝낸 후 개강 전에 작은 프로젝트를 진행하고 싶다.
1. 파이썬과 MySQL 연동
- 파이썬과 MySQL을 연동하려면 pymysql을 설치해야 한다.
pip install pymysql
- MySQL에 데이터 입력을 위한 파이썬 코딩 순서
1) MySQL 연결: 연결자 = pymysql.connect(연결 옵션)
2) 커서 생성: 커서 이름 = 연결자.cursor( )
3) 테이블 만들기: 커서 이름.execute(:"create table 문장")
4) 데이터 입력: 커서 이름.execute("insert 문장")
5) 입력한 데이터 저장: 연결자.commit( )
6) MySQL 연결 종료: 연결자.close( )
- 파이썬과 데이터베이스를 연결하는 방법
pymysql.connect(host=서버, user=사용자, password=암호, db=데이터베이스, charset=문자세트)
- 커서(Cursor): DB에 SQL문을 실행하거나, 실행된 결과를 돌려받는 통로
- 커서이름.execute( ) 함수를 사용하여 sql문을 db로 넘겨줄 수 있다.
- execute 문으로 데이터를 입력하는 것은 임시 저장 상태이므로, 커밋(commit) 과정을 거쳐야 한다.
- 데이터 입력 코드
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='1234',
db='hanbitDB', charset='utf8')
cur = conn.cursor()
cur.execute("create table if not exists userTable (id char(4), userName char(15),
email char(20), birthYear int)")
cur.execute("insert into userTable values('john', 'John Bann', 'john@naver.com', 1990)")
cur.execute("insert into userTable values('kim', 'Kim Chi', 'kim@daum.net', 1992)")
cur.execute("insert into userTable values('lee', 'Lee Pal', 'lee@paran.com', 1988)")
cur.execute("insert into userTable values('park', 'Park Su', 'park@gmail.com', 1980)")
conn.commit()
conn.close()
- 데이터 입력 프로그램
import pymysql
# 전역 변수 선언부
conn, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
sql = ""
# 메인 코드
conn = pymysql.connect(host='127.0.0.1', user='root', password='1234',
db='hanbitDB', charset='utf8')
cur = conn.cursor()
while True:
data1 = input("사용자 ID: ")
if data1 == "":
break
data2 = input("사용자 이름: ")
data3 = input("사용자 이메일: ")
data4 = input("사용자 출생년도: ")
sql = "insert into userTable values('" + data1 + "','" + data2 + "','" +
data3 + "'," + data4 + ")"
cur.execute(sql)
conn.commit()
conn.close()
- MySQL의 데이터 조회를 위한 파이썬 코딩 순서
1) MySQL 연결
2) 커서 생성
3) 데이터 조회
→ 조회하는 것은 굳이 커밋을 해줄 필요가 없다.
4) 조회한 데이터 출력: 커서 이름.fetchone( )
5) 연결 종료
- 데이터 조회 프로그램
import pymysql
# 전역 변수 선언부
conn, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
row = None
# 메인 코드
conn = pymysql.connect(host='127.0.0.1', user='root', password='1234',
db='hanbitDB', charset='utf8')
cur = conn.cursor()
cur.execute("select * from userTable")
print("사용자 ID 사용자이름 이메일 출생년도")
print("----------------------------------------------------------")
while True:
row = cur.fetchone()
if row == None:
break
data1 = row[0]
data2 = row[1]
data3 = row[2]
data4 = row[3]
print("%5s %15s %20s %d" % (data1, data2, data3, data4))
conn.close()
'DB & SQL > 이것이 MySQL이다' 카테고리의 다른 글
파이썬 tkinter 사용 방법 (0) | 2022.07.11 |
---|---|
PHP와 MySQL의 연동 (0) | 2022.07.10 |
PHP 기본 프로그래밍 (0) | 2022.07.02 |
Visual Studio Code에서 PHP 코드 실행하기 (2) | 2022.07.02 |
MySQL과 공간 데이터 (0) | 2022.06.27 |
댓글