티스토리 뷰
728x90
pymysql
파이썬과 mysql을 연동하기 위해 필요한 리이브러리.
설치 방범(윈도우 운영체제)
- 윈도우 검색 창에서 cmd 검색
- 명령 프롬프트 실행
- 명령창에 pip install pymysql 입력
*단 python과 pip 모듈이 설치되어 있어야 합니다.
연동 과정(입력)
* 여기서 사용되는 SQL문장은 아래 링크를 참조하세요.
[SQL]SQL 기본 문법 (1)
데이터베이스 만들기 데이터베이스 생성 --데이터베이스 생성 CREATE DATABASE 데이터베이스명; --데이터베이스 삭제 DROP DATABASE 데이터베이스명; --동명의 기존 데이터베이스가 있을 경우 삭제 DROP DA
growingegg.tistory.com
MySQL연결
import pymysql
연결자 = pymysql.connet(host = 서버IP주소, user = 사용자, password = 암호, db = 데이터베이스, charset = 문자세트)
커서 생성
커서(corsor): 일련의 데이터에 순차적으로 액세스할 때 검색 및 "현재 위치"를 포함하는 데이터 요소.
커서 = 연결자.cursor()
테이블 생성
커서.excute("CREATE TABLE SQL문장")
데이터 입력
커서.excute("INSERT INTO SQL문장")
입력하고자 하는 데이터를 입력
입력한 데이터 저장
연결자.commit()
MySQL연결 종료
연결자.close()
실행 예시
connect에 있는 설정은 제 mysql 데이터베이스 설정입니다.
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='0000', db='solodb', charset='utf8')
cur = conn.cursor()
sql = """create table userTable(
id char(4),
userName char(15),
email char(20),
birthyear int
)"""
cur.execute(sql)
#
cur.execute("insert into userTable values('hong', '홍지윤','hong@naver.com', 1996)")
cur.execute("insert into userTable values('kim', '김태연', 'kim@daum.net', 2011)")
cur.execute("insert into userTable values('star', '별사랑', 'star@paran.com', 1990)")
cur.execute("insert into userTable values('yang', '양지은', 'yang@gmail.com', 1993)")
conn.commit()
conn.close()
실행 예시2
사용자가 직접 입력하여 데이터 추가하는 예제 코드
import pymysql
# 변수 선언
conn, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
sql = []
#메인코드
conn = pymysql.connect(host='127.0.0.1', user='root', password='0000', db='solodb', charset='utf8')
cur = conn.cursor()
while(True):
data1 = input("사용자 ID ==>")
if data1 == "":
break
data2 = input("사용자 이름 ==> ")
data3 = input("사용자 이메일 ==> ")
data4 = input("사용자 출생연도 ==> ")
sql.append("INSERT INTO userTable VALUES('"+data1+"','"+data2+"','"+data3+"',"+data4+")")
for line in sql:
cur.execute(line)
conn.commit()
conn.close()
데이터 조회
fetchone(): 커서로 SELECT문을 사용하면 조회한 결과를 커서에 한 번에 저장한다. 이후 fetchone함수를 호출하면 저장한 데이터를 한 행씩 출력한다.
실행예시
import pymysql
# 변수 선언
conn, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
row = None
#메인코드
conn = pymysql.connect(host='127.0.0.1', user='root', password='0000', db='solodb', charset='utf8')
cur = conn.cursor()
cur.execute("SELECT * FROM userTable")
print("사용자ID\t사용자이름\t이메일\t출생연도")
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.commit()
conn.close()
728x90
'python' 카테고리의 다른 글
[python] numpy(1) (0) | 2024.02.13 |
---|---|
[python] sklearn, pandas(2) (1) | 2024.02.13 |
[python]pandas (0) | 2024.02.07 |
[python] 예외 처리 (1) | 2024.01.23 |
[python] 가상 환경 만들기(windows) (0) | 2024.01.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 생성형 AI
- 티스토리챌린지
- 웹개발
- 위니브엠베서더
- 코딩테스트
- 인프런강의후기
- 전자회로
- 웹
- 위니브
- Python
- 인프런
- 더오름
- PANDAS
- 인프런강의
- 백준
- dataframe
- ssafy기자단
- SSAFYcial
- 알고리즘
- 오블완
- 제주코딩베이스캠프
- 파이썬
- django
- 알고리즘이론
- numpy
- 백준알고리즘
- SSAFY
- 웹프로그래밍
- it도서큐레이션
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함
250x250