개발 가이드

Local Navigation

SQLite 데이터베이스 작업

SQLite를 만들고 나면 SQL 문을 사용하여 데이터 추가, 데이터 검색, 데이터베이스 수정과 같은 작업을 할 수 있습니다.

지원되는 SQL 문 및 해당 구문의 목록은 www.SQLite.org를 참조하십시오. Database API는 FTS2 및 RTREE를 지원하지 않습니다.

문을 실행하는 방법에는 Statement 객체를 만들거나 Database.executeStatement를 사용하는 두 가지 방법이 있습니다.

Statement 객체를 사용하여 문 실행

다음 단계는 Statement 객체를 사용하여 문을 실행하는 방법을 개략적으로 보여줍니다.

  1. Database.createStatement 메소드를 사용하여 Statement 객체를 만듭니다.
  2. Statement.prepare 메소드를 호출하여 실행할 문을 준비합니다.
  3. 문의 매개 변수를 연결합니다. 이는 선택 사항이지만 여러 번 문을 실행하는 경우 성능을 향상시킵니다.
  4. 문을 실행합니다.
    • 문이 결과를 반환하면(예: SELECT 문) Cursor 객체를 반환하는 Statement.getCursor를 호출하여 이를 실행합니다.

    • 문이 결과 세트를 반환하지 않으면 다음 메소드 중 하나를 호출하여 이를 실행하십시오.
      • Statement.executeUpdate: 데이터를 업데이트하고(UPDATE 문과 함께 사용) 연결 매개 변수와 함께 여러 번 문을 실행하는 경우 사용합니다.
      • Statement.executeInsert: 데이터를 삽입하고(INSERT 문과 함께 사용) 연결 매개 변수와 함께 여러 번 문을 실행하는 경우 사용합니다.
      • Statement.execute: 연결 매개 변수를 사용하고자 하는 경우 사용합니다.
  5. 문이 결과 세트를 반환하면 반환된 커서를 행 단위로 반복하여 결과 세트를 가져옵니다. 이 단계는 Cursor 인터페이스를 사용하여 수행합니다. 이 인터페이스는 모든 환경에서 사용할 수 있지만 앞으로만 이동합니다. 양방향 커서 이동은 소형 결과 세트에 한해 BufferedCursor 클래스를 사용합니다.
주: 리소스를 확보하려면 명시적으로 문을 닫아야 합니다.

다음 예는 행을 업데이트합니다.

Statement st = d.createStatement("UPDATE Account set Balance = ? WHERE AcctNo > ?"); 
try 
{ 
    st.prepare(); 
    Object[] bindParams = {new Integer (2000), new Integer (100)};
    st.executeUpdate(bindParams); 
} 
finally 
{
    st.close(); 
}

Statement 객체를 사용하지 않고 문 실행

결과 세트를 반환하지 않는 쿼리를 실행하고 연결 매개 변수를 사용하지 않는 경우에는 Statement 객체를 만들 필요가 없습니다. 대신, 단일 호출에서 문 준비, 실행 및 닫기를 수행하는 Database.executeStatement를 사용할 수 있습니다.

다음 예에서는 테이블을 만듭니다.

Database d = null;
try {
    d = DatabaseFactory.create("hello.db");
    d.executeStatement( "CREATE TABLE t (a INTEGER PRIMARY KEY, b BLOB);" );            
} catch (Exception e) {
    System.out.println( e.getMessage() );
} finally {
    try {
        d.close();
    } catch (DatabaseException e) {
    }
}
다음 주제: SQL 매개 변수 사용

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.