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