이 특성을 사용하면 TEXT 데이터 형식에 대해 반환되는 개체를 제어할 수 있습니다. 기본적으로 이 특성은 유니코드로 설정되고 sqlite3 모듈은 TEXT에 대한 유니코드 개체를 반환합니다. 대신 bytestrings를 반환하려면 str. 데이터베이스에서 bytestring을 사용자 정의 파이썬 유형으로 변환할 수있는 호출 을 등록하도록 설정할 수 있습니다. 형식 형식 이름의 모든 데이터베이스 값에 대해 호출 가능이 호출됩니다. 형식 검색의 작동 방식에 대한 매개 변수 detect_type의 connect() 함수를 부여합니다. 형식 이름과 쿼리의 형식 이름은 대/소문자를 구분하지 않는 방식으로 일치합니다. 따라서 트랜잭션 내에 있고 CREATE TABLE…, VACUUM, PRAGMA와 같은 명령을 실행하는 경우 sqlite3 모듈은 해당 명령을 실행하기 전에 암시적으로 커밋됩니다. 그렇게 하는 데는 두 가지 이유가 있습니다. 첫 번째는 이러한 명령 중 일부가 트랜잭션 내에서 작동하지 않는다는 것입니다.
다른 이유는 sqlite3 트랜잭션 상태를 추적해야 하기 때문입니다(트랜잭션이 활성 상태인지 아닌지). 예를 들어 – cursor.execute (“사람 값 (?, ?)”, (누가, 나이)에 삽입이 다음과 같이 SQLite에 대한 쉘을 구축하는 데 사용할 수 있습니다 : 우리는 sqlite3 도구에 매개 변수를 제공합니다; test.db는 데이터베이스 이름입니다. 그것은 우리의 디스크에 있는 파일입니다. 있는 경우 열립니다. 그렇지 않으면 만들어집니다. 예외는 런타임 오류입니다. 파이썬 프로그래밍에서 모든 예외는 BaseException에서 파생 된 클래스의 인스턴스입니다. 함수 이름 아래 SQL 문 내에서 나중에 사용할 수 있는 사용자 정의 함수를 만듭니다.
num_params함수가 허용하는 매개 변수의 수이며 func은 SQL 함수라고 하는 파이썬 호출 가능입니다. SQLite3에서 SELECT 문은 커서 개체의 실행 메서드에서 실행됩니다. 예를 들어 직원 테이블의 모든 열을 선택하고 다음 코드를 실행하십시오: 파이썬의 데이터베이스와 상호 작용하는 방법에 대해 자세히 알아보려면 파이썬 코스에서 DataCamp의 데이터베이스 소개를 수행하십시오. 커서 개체가 아닌 db 개체에서 커밋 함수가 호출됩니다. cursor.commit을 입력하면 AttributeError: `sqlite3.를 받게 됩니다. 커서` 개체에는 `커밋` 행 팩터리 클래스 sqlite3 특성이 없습니다. 행은 인덱스가 아닌 이름으로 쿼리의 열에 액세스하는 데 사용됩니다 : sqlite3 모듈의 형식 시스템은 두 가지 방법으로 확장 할 수 있습니다 : 객체 적응을 통해 SQLite 데이터베이스에 추가 파이썬 형식을 저장할 수 있으며 sqlite3 모듈이 SQLite 형식을 변환하도록 할 수 있습니다. 컨버터를 통해 다른 파이썬 유형에. 응용 프로그램이 SQLite 데이터베이스만 지원해야 하는 경우 다른 파이썬 SQLite 래퍼라고 하는 APSW 모듈을 사용해야 합니다. sqlite3 모듈은 내부적으로 SQL 구문 분석 오버헤드를 피하기 위해 문 캐시를 사용합니다.
연결에 대해 캐시된 명령문 수를 명시적으로 설정하려면 cached_statements 매개 변수를 설정할 수 있습니다. 현재 구현된 기본값은 100개의 문을 캐시하는 것입니다. 이 루틴은 콜백을 등록합니다. 콜백은 데이터베이스의 테이블 열에 액세스하려는 각 시도에 대해 호출됩니다. 콜백은 액세스가 허용되는 경우 SQLITE_OK를 반환해야 하며, 전체 SQL 문을 오류로 중단해야 하는 경우 SQLITE_DENY를 반환하고 열을 NULL 값으로 처리해야 하는 경우 SQLITE_IGNORE를 반환해야 합니다. 이러한 상수는 sqlite3 모듈에서 사용할 수 있습니다. 편리하게도 데이터베이스에 처음 연결하려고 할 때 새 데이터베이스 파일(.sqlite file)이 자동으로 생성됩니다. 그러나 아직 테이블이 없다는 것을 알아야합니다.
다음 섹션에서는 일부 데이터를 저장하기 위한 테이블이 있는 새 SQLite 데이터베이스 파일을 만드는 방법에 대한 몇 가지 예제 코드를 살펴보겠습니다.