파이썬:sqlite3(sqlite3 연동): 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
(→데이터 조작) |
(→데이터 조작) |
||
(다른 사용자 한 명의 중간 판 2개는 보이지 않습니다) | |||
5번째 줄: | 5번째 줄: | ||
굳이 운영체제에 설치하지 않고도, 패키지만으로 DB를 다룰 수 있다. | 굳이 운영체제에 설치하지 않고도, 패키지만으로 DB를 다룰 수 있다. | ||
===특, 장점=== | |||
파일 하나가 하나의 DB. | |||
===한계=== | |||
동시접근이 안된다. | |||
=기본사용법= | =기본사용법= | ||
56번째 줄: | 62번째 줄: | ||
|- | |- | ||
|테이블에 데이터 삽입 | |테이블에 데이터 삽입 | ||
| | |values의 '내용1' 대신 ? 를 넣어주고, 2번째 매개변수에 실제 값을 넣어주어도 된다. | ||
(다른 DB에서는 다른 방식으로 편의를 도모한다.) | |||
|커서객체.execute("insert into 테이블명 values('내용1', '내용2')") | |커서객체.execute("insert into 테이블명 values('내용1', '내용2')") | ||
커서객체.execute("insert into 테이블명 values(?, ?)", (값1, 값2)) | |||
|- | |- | ||
|DB에 반영 | |DB에 반영 |
2021년 4월 11일 (일) 13:01 기준 최신판
파이썬 공부를 위한 틀 틀:파이썬
- 파이썬:개요
- 파이썬:변수
- 파이썬:함수
- 파이썬:데코레이터
- 파이썬:제어문
- 파이썬:클래스
- 파이썬:데이터 입출력
- 파이썬:라이브러리
- 파이썬:time, datetime(시간 다루기)
- 파이썬:os(운영체제 기능 이용)
- 파이썬:sys(인터프리터 관련 기능 제공)
- 파이썬:schedule(예약명령)
- 파이썬:COM(다른 프로그램과 연동)
- 판다스(데이터 분석)
- pybithumb(비트코인 거래)
- 파이썬:requests(api다루기)
- 파이썬:pymysql(mysql 연동)
- 파이썬:sqlite3(sqlite3 연동)
- 파이썬:math(숫자, 계산 관련)
- 파이썬:numpy(다차원 배열 및 데이터 다루기)
- 파이썬:matplotlib(그래프, 데이터 시각화)
- 파이썬:keras(딥러닝)
- 파이썬:turtle(그리기)
- 파이썬:프레임워크
- 파이썬:팁
- 파이썬:window창
- 파이썬:다양한 전략
개요[편집 | 원본 편집]
데이터를 메모장이나 엑셀 등으로 저장하는 것도 괜찮지만... 속도의 효율 등을 따져보면 그닥 이득은 아닐 것이다. 때문에 거대한 데이터를 다루기 위해선 DB가 필수적.
굳이 운영체제에 설치하지 않고도, 패키지만으로 DB를 다룰 수 있다.
특, 장점[편집 | 원본 편집]
파일 하나가 하나의 DB.
한계[편집 | 원본 편집]
동시접근이 안된다.
기본사용법[편집 | 원본 편집]
의도 | 설명 | 코드 |
---|---|---|
DB파일만들기 | 저장파일을 만든다.
만약 이미 있으면 연결. |
DB객체=sqlite3.connect('주소/DB이름') |
커서객체 생성 | conn은 sqlite엔진에 연결.
커서객체를 만들면 SQL 질의를 자유롭게 쓸 수 있다. (아래의 데이터조작 참조) |
커서객체=DB객체.cursor() |
연결종료 | 종료한다. | DB객체.close() |
테이블 조작[편집 | 원본 편집]
의도 | 설명 | 코드 |
---|---|---|
테이블 생성 | 커서객체.execute('create table if not exists 테이블명(열1, 열2)') | |
테이블 삭제 | 커서객체.execute('drop table if exists 테이블명') |
데이터 조작[편집 | 원본 편집]
의도 | 설명 | 코드 |
---|---|---|
테이블에 데이터 삽입 | values의 '내용1' 대신 ? 를 넣어주고, 2번째 매개변수에 실제 값을 넣어주어도 된다.
(다른 DB에서는 다른 방식으로 편의를 도모한다.) |
커서객체.execute("insert into 테이블명 values('내용1', '내용2')")
커서객체.execute("insert into 테이블명 values(?, ?)", (값1, 값2)) |
DB에 반영 | 다음의 코드를 실행해줘 내용을 DB에 반영한다. | DB객체.commit() |
데이터 불러오기(하나) | 테이블에 접근한 후 불러온다.
커서가 이동하며 한줄씩 읽는다. |
커서객체.execute('select * from 테이블명')
객체=커서객체.fetchone() |
데이터 전체 불러오기 | 전체를 읽어와 리스트로 반환. | 커서객체.execute('select * from 테이블명')
객체=커서객체.fetchall() |