빠르게 활용하는 파이썬 3.2 프로그래밍 – 14장 데이터베이스

 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.

빠르게 활용하는 파이썬 3.2 프로그래밍
[구매하기]

빠르게 활용하는 파이썬 3.2 프로그래밍 – 1장 파이썬 개요 및 설치, 2장 자료형 및 연산자
빠르게 활용하는 파이썬 3.2 프로그래밍 – 3장 함수
빠르게 활용하는 파이썬 3.2 프로그래밍 – 4장 제어
빠르게 활용하는 파이썬 3.2 프로그래밍 – 5장 클래스
빠르게 활용하는 파이썬 3.2 프로그래밍 – 6장 모듈
빠르게 활용하는 파이썬 3.2 프로그래밍 – 7장 예외처리
빠르게 활용하는 파이썬 3.2 프로그래밍 – 8장 입출력
빠르게 활용하는 파이썬 3.2 프로그래밍 – 10장 문자열이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 11장 날짜이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 12장 숫자이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 13장 파일 시스템을 자유자재로
빠르게 활용하는 파이썬 3.2 프로그래밍 – 14장 데이터베이스

▣ 14장 데이터베이스

SQLite3 은 디스크 기반의 가벼운 데이터베이스 라이브러리
트렌젝션 지원, 성능과 안정성 검증(안드로이드, 아이폰 등 널리사용)
pysqlite 모듈, 기분적으로 포함

모듈함수
– sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, – factory, cached_statements]) : SQLite3 DB와 연결된 Connection 객체반환
– sqlite3.complete_statement(sql) : 세미콜론으로 끝나는 sql 문에 대해 True를 반환(구문확인은 안함)
– sqlite3.register_converter(typename, callable) : SQLite3에 저장된 자료를 사용자 정의 자료형으로 변환하는 함수를 등록

Connection 클래스 : 연결된 DB응 동작
– cursor([cursorClass]) : cursor 객체를 생성
– commit() : 트렌젝션의 변경내용을 DB에 반영
– rollback() : 트렌젝션의 변경내용을 DB에 반영하지 않음
– close() : DB 연결을 종료
– isolation_level : 트렌젝션 경리수준을 확인, 설정
– execute(sql[, parameters]) : 임시 cursor 객체에 sql 문을 실행
– executemany(sql[, parameters]) : 임시 cursor 객체에 동일한 sql 문에 파라미터를 변경하여 실행
– executescript(sql_script) : 임시 cursor 객체에 세미콜론으로 구분된 여러줄의 sql 문을 실행
– create_aggregate(name, num_params, aggregate_class) : 사용자 정의 집계함수를 생성
– create_collation(name, callable) : 문자열 정렬시 sql 에서 사용하될 이름(name)과 정렬함수를 지정
– iterdump() : 연결된 DB의 내용을 sQL 질의 현태로 출력할수 있는 이터레이터를 반환

Cursor 클래스 : 실제적으로 DB의 sql 구문을 실행시키고 조회된 결과를 가져옴
– execute(sql[, parameters]) : cursor 객체에 sql 문을 실행
– executemany(sql[, parameters]) : cursor 객체에 동일한 sql 문에 파라미터를 변경하여 실행
– executescript(sql_script) : cursor 객체에 세미콜론으로 구분된 여러줄의 sql 문을 실행
– fetchone() : 조회된 결과로 부터 데이터 1개를 반환
– fetchmany(size=cursor.arraysize) : 조회된 결과로 부터 입력받은 size 만큼의 데이터 리스트를 반환
– fetchall() : 조회된 결과 모두를 리스트형태로 반환

Row 클래스 : 조회된 결과 집합에서 튜플을 나타냄

14.1 데이터베이스 연결

데이터베이스 객체를 생성, DB 가 없으면, 새로 생성, 있으면 오픈

14.2 SQL문 수행

? 를 사용하는 경우 전달순서를 기억해 거기에 맞춰 시퀀스 객체를 전달

사전형식으로 전달

리스트 객체를 이용해 레코드를 연속으로 입력

14.3 레코드 조회

14.4 트랜잭션 처리
con.commit() 입력
자동커밋 모드 : con.isolatoin_level = None

14.5 레코드 정렬과 사용자 정렬 함수

14.6 SQLite3 내장 집계 함수
sqlite 에서 사용할수 있는 내장 집계함수
abs(x), length(x), lower(x), upper(x), min(x), max(x), ramdom(*), count(x), count(*), sum(x)

14.7 사용자정의 집계 함수
사용자정의 집계함수를 만드고자 할때 : create_aggregate() 사용해서 클래스를 등록
클래스는 반드시 step() 과 finalize() 메소드가 정의되어있어야 함
– step() : 메소드 등록시 지정된 개수인 인자를 전달 받음
– finalize() : 집계된 결과를 반환

14.8 자료형
SQLite3 : Python
NULL : None
INTEGER : int
REAL : float
TEXT : str, bytes
BLOB : buffer

14.9 사용자정의 자료형
– sqlite3.register_adapter(파이썬 자료형, 변환함수)
– sqlite3.register_converter(sqllite3 자료형, 변환함수)

14.10 데이터베이스 덤프 만들기
DB의 현재 상태를 백업(sql)

14.11 명령어 프롬프트에서 SQLite3 관리하기

 

This entry was posted in Python/Ruby/Perl, Reading and tagged , , . Bookmark the permalink.

댓글 남기기