광고

이 장에서 당신이 사용하는 방법을 배울 것이다 SQLite 에서는 파이썬 프로그램입니다.

설치

Sqlite3 는 Gerhard Haring 이 작성한 sqlite3 모듈을 사용하여 Python 과 통합 할 수 있습니다. PEP249 에서 설명하는 DB-API2.0 사양을 준수하는 SQL 인터페이스를 제공합니다. 파이썬 버전 2.5 와 함께 기본적으로 제공되기 때문에이 모듈을 별도로 설치할 필요가 없습니다.x 이후.,

를 사용 sqlite3 모듈을 만들어야 합 연결 객체를 나타내는 데이터베이스 및 그런 다음 선택적으로 만들 수 있는 커서 객체에 도움이 될 것입니다 실행하는 모든 SQL 문을 수행합니다.

Python sqlite3 모듈 Api 를

다음과 같은 중요한 sqlite3 모듈 루틴을 수 있는 충분의 요구를 일으로 SQLite 데이터베이스에서는 파이썬 프로그램입니다. 보다 정교한 응용 프로그램을 찾고 있다면 Python sqlite3 모듈의 공식 문서를 살펴볼 수 있습니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.Sr.No., API&설명 1

sqlite3.connect(database)

이 API 는 SQLite 데이터베이스 파일에 대한 연결을 엽니 다. “:Memory:”를 사용하여 디스크 대신 RAM 에 상주하는 데이터베이스에 대한 데이터베이스 연결을 열 수 있습니다. 데이터베이스가 성공적으로 열리면 연결 개체를 반환합니다.

데이터베이스가 여러 연결로 액세스되고 프로세스 중 하나가 데이터베이스를 수정하면 해당 트랜잭션이 커밋 될 때까지 SQLite 데이터베이스가 잠 깁니다., 시간 초과 매개 변수는 예외를 발생시킬 때까지 연결이 잠금이 사라질 때까지 기다려야하는 시간을 지정합니다. 시간 초과 매개 변수의 기본값은 5.0(5 초)입니다.

주어진 데이터베이스 이름이 존재하지 않으면이 호출은 데이터베이스를 만듭니다. 지정할 수 있는 파일 이름 필요한 경로뿐만 아니하는 경우 당신은 데이터베이스를 만들려면 다른 곳에서 제외에서 현재 디렉터리입니다.

2

연결.cursor()

이 루틴은 파이썬으로 데이터베이스 프로그래밍 전반에 걸쳐 사용될 커서를 만듭니다., 이 메서드는 단일 선택적 매개 변수 cursorClass 를 허용합니다. 제공된 경우 sqlite3 을 확장하는 사용자 지정 커서 클래스여야 합니다.커서.커서가 작동하지 않으면 어떻게해야합니까?실행(sql)

이 루틴은 SQL 문을 실행합니다. SQL 문은 매개 변수화 될 수 있습니다(예:sql 리터럴 대신 자리 표시 자). Sqlite3 모듈은 두 종류의 자리 표시자를 지원합니다:물음표와 명명 된 자리 표시 자(명명 된 스타일).예를 들어-커서.실행(“사람 값에 삽입(?, ?)”,(who,age))

4

연결.,execute(sql)

이 일상적인 것은 바로 위의 실행 방법에 의해 제공되는 커서 객체를 만듭 커서 중간체에 의해 호출하면 커서가 방법,다음 호출이 커서 실행하는 방법과 매개 변수를 주어집니다.커서가 작동하지 않으면 어떻게해야합니까?executemany(sql,seq_of_parameters)

이 루틴을 실행하는 SQL 명령에 대한 모든 매개변수가 순서 또는 매핑을 발견 시퀀스에서 sql.

6

연결.,executemany(sql)

이 루틴은 바로 가기를 생성하는 중간 커서 객체를 호출하여 커서 방법은 다음을 호출합니다.주어진 매개 변수가있는 많은 메소드.이 경우 커서가 작동하지 않습니다.executescript(sql_script)

이 루틴은 스크립트 형태로 제공되는 한 번에 여러 SQL 문을 실행합니다. 먼저 COMMIT 문을 발행 한 다음 매개 변수로 가져 오는 SQL 스크립트를 실행합니다. 모든 SQL 문은 세미 콜론(;)으로 구분해야합니다.

8

연결.,executescript(sql_script)

이 루틴은 바로 가기를 생성하는 중간 커서 객체를 호출하여 커서가 방법,다음 호출이 커서의 executescript 방법으로 매개 변수를 주어집니다.

9

연결.total_changes()

이 루틴의 총 수를 반환합 데이터베이스에 수정된 행 삽입 또는 삭제된 이후 데이터베이스 연결을 열었습니다.

10

연결.commit()

이 메소드는 현재 트랜잭션을 커밋합니다., 이 메서드를 호출하지 않으면 commit()에 대한 마지막 호출 이후 수행 한 작업은 다른 데이터베이스 연결에서 볼 수 없습니다.

11

연결.rollback()

이 메소드는 commit()에 대한 마지막 호출 이후 데이터베이스에 대한 변경 사항을 롤백합니다.

12

연결.close()

이 메서드는 데이터베이스 연결을 닫습니다. 이렇게하면 commit()이 자동으로 호출되지 않습니다. Commit()을 먼저 호출하지 않고 데이터베이스 연결을 닫기 만하면 변경 사항이 손실됩니다!커서가 작동하지 않으면 어떻게해야합니까?,fetchone()

이 방법을 가져옵 다음 행의 질의 결과로 설정,반환 하나의 순서,또는 아무도 없을 때에 자세한 데이터를 사용할 수 있습니다.커서가 작동하지 않으면 어떻게해야합니까?fetchmany()

이 루틴은 쿼리 결과의 다음 행 집합을 가져 와서 목록을 반환합니다. 더 이상 행을 사용할 수 없을 때 빈 목록이 반환됩니다. 메서드는 크기 매개 변수로 표시된만큼 많은 행을 가져 오려고 시도합니다.커서가 작동하지 않으면 어떻게해야합니까?fetchall()

이 루틴은 쿼리 결과의 모든(나머지)행을 가져 와서 목록을 반환합니다., 사용할 수 있는 행이 없을 때 빈 목록이 반환됩니다.

데이터베이스에 연결

다음과 같은 Python 코드에 연결하는 방법을 보여 줍 기존 데이터베이스입니다. 데이터베이스가 존재하지 않으면 생성되고 마지막으로 데이터베이스 개체가 반환됩니다.

#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";

여기에서 데이터베이스 이름을 특수 이름으로 제공 할 수도 있습니다. 이제 위의 프로그램을 실행하여 데이터베이스 테스트를 작성해 보겠습니다.현재 디렉토리의 db. 당신은 당신의 필요조건에 의하여 당신의 경로를 바꿀 수 있습니다., 위의 코드를 계속 sqlite.py 아래 그림과 같이 파일을 작성하고 실행하십시오. 데이터베이스가 성공적으로 생성되면 다음 메시지가 표시됩니다.

$chmod +x sqlite.py$./sqlite.pyOpen database successfully

테이블 만들기

다음과 같은 프로그램를 만드는 데 사용됩니다 테이블에서 이전에 생성된 데이터베이스입니다.위의 프로그램이 실행되면 테스트에서 회사 테이블을 만듭니다.,db 표시됩니다 다음과 같은 메시지−

Opened database successfullyTable created successfully

삽입 작업

다음과 같은 프로그램을 생성하는 방법을 레코드 회사에서 만든 테이블에서 위의 예입니다.

경우 상기 프로그램을 실행,그것이 만들어 주어진 레코드 회사에 있는 테이블에 표시됩니다 다음 두 줄−

Opened database successfullyRecords created successfully

SELECT Operation

다음과 같은 프로그램을 보여주는 방법을 가져오고 레코드를 표시하는 회사에서 만든 테이블에서 위의 예입니다.,위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다.

업데이트 작업

다음과 같은 Python 코드를 사용하는 방법을 보여줍 업데이트 문을 업데이트를 기록한 후 인출하고 표시 업데이트 레코드 회사에서는 테이블.위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다.

Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully

작업 삭제

다음과 같은 Python 코드를 사용하는 방법을 보여줍 삭제 문을 레코드를 삭제한 후 인출하고 디스플레이 나머지 레코드 회사에서는 테이블.,

When the above program is executed, it will produce the following result.

Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
Advertisements

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다