Pymysql
1 개요
데이터를 메모장이나 엑셀 등으로 저장하는 것도 괜찮지만... 속도의 효율 등을 따져보면 그닥 이득은 아닐 것이다. 때문에 거대한 데이터를 다루기 위해선 DB가 필수적.
mysql 뿐 아니라 mariaDB에서도 사용 가능하다.
2 기본사용법
의도 | 설명 | 코드 |
---|---|---|
DB파일만들기 | 저장파일을 만든다.
만약 이미 있으면 연결. 한글텍스트를 사용하기 위해 utf8 설정도 준다. |
DB객체=pymysql.connect(host='localhost', port=번호, db='DB이름', user='root', passwd='비밀번호', charset='utf8') |
커서객체 생성 | 커서객체를 만들면 SQL 질의를 자유롭게 쓸 수 있다.
(아래의 데이터조작 참조) |
커서객체=DB객체.cursor() |
연결종료 | 종료한다. 커서객체를 다음과 같은 형식으로 불러오면 굳이 종료가 필요치 않다.with self.DB.cursor() as curs:
|
DB객체.close() |
명령 | DB질의를 한다. | 커서객체.execute("질의문") |
DB에 반영 | 내용을 DB에 반영한다. | DB객체.commit() |
2.1 테이블 조작
의도 | 설명 | 코드 |
---|---|---|
테이블 생성 | 커서객체.execute('create table if not exists 테이블명(열1, 열2)') | |
테이블 삭제 | 커서객체.execute('drop table if exists 테이블명') |
2.2 데이터 조작
의도 | 설명 | 코드 |
---|---|---|
테이블에 데이터 삽입 | 커서객체.execute("insert into 테이블명 values('내용1', '내용2')") | |
DB에 반영 | 내용을 DB에 반영한다. | DB객체.commit() |
데이터 불러오기(하나) | 테이블에 접근한 후 불러온다.
커서가 이동하며 한줄씩 읽는다. |
커서객체.execute('select * from 테이블명')
객체=커서객체.fetchone() |
데이터 전체 불러오기 | 전체를 읽어와 리스트로 반환. | 커서객체.execute('select * from 테이블명')
객체=커서객체.fetchall() |