Skip to content

SQLite #
Find similar titles

Structured data

Category
Database

SQLite는 무엇인가? #

SQLite는 MySQL이나 PostgreSQL 와 같은 데이터베이스 관리 시스템으로 파일 기반의 임베디드 SQL 데이터베이스 엔진이다. 주로 응용 프로그램에 넣어 사용하는 경량 DB 중 하나로 빠르고 사용하기 쉽고, 무료 라이브러리이다. 다른 SQL 데이터베이스와 다르게 분리된 서버를 갖고 있지 않고 일반 디스크 파일을 직접 읽고 쓰며 오직 한 개의 파일에 멀티 테이블, 색인, 트리거, 뷰 등을 가지고 있다. 영어권에서는 '에스큐엘라이트'또는 '시퀄라이트(ˈsiːkwəl.laɪt)'라고 읽는다. SQLite는 내장형 SAL 데이터베이스 엔진이지만 보통 SQL과는 다른 데이터베이스이고 세계적으로 활용도가 높은 데이터베이스이다.

Cross-platform #

Android, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and Windows (Win32, WinCE, WinRT)지원

인터넷을 위한 데이터베이스 #

  • 모바일, PDA, MP3의 데이터베이스 엔진을 위해 많이 활용된다.
  • 작은 code footprint를 갖고 있다.
  • 메모리, 디스크 용량, 디스크 대역폭의 효과적인 사용이 가능하다.
  • 데이터베이스 관리자의 유지관리가 불필요하다.

파일 포맷 활용 #

  • XML, JSON, CSV 등의 쓰는 것이 fopen()을 이용하는 것보다 좋다.

SQLite 사용자 #

Image

사용법 #

1. Download The Code

http://www.sqlite.org/download.html

2. New Database 작성

"sqlite3 test.db" 입력

"test.db" 라는 새로운 데이터베이스를 생성한다. (다른 이름으로 지정 가능)

SQLite 사용 예제 #

1) TCL program 방법

 01  #!/usr/bin/tclsh
 02  if {$argc!=2} {
 03    puts stderr "Usage: %s DATABASE SQL-STATEMENT"
 04    exit 1
 05  }
 06  package require sqlite3
 07  sqlite3 db [lindex $argv 0]
 08  db eval [lindex $argv 1] x {
 09    foreach v $x(*) {
 10      puts "$v = $x($v)"
 11    }
 12    puts ""
 13  }
 14  db close

7째 줄에 SQLite를 여는 과정이다. 8째 줄에 새로운 데이터베이스 이름인 'db'에 접속한다. 이것은 eval methode를 사용한다. 마지막 줄에 데이터베이스 접속을 끊는다는 언어로 db close 를 입력한다.

2) C/C++ 방법

 01  #include <stdio.h>
 02  #include <sqlite3.h>
 03  
 04  static int callback(void *NotUsed, int argc, char **argv, char **azColName){
 05    int i;
 06    for(i=0; i<argc; i++){
 07      printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
 08    }
 09    printf("\n");
 10    return 0;
 11  }
 12  
 13  int main(int argc, char **argv){
 14    sqlite3 *db;
 15    char *zErrMsg = 0;
 16    int rc;
 17  
 18    if( argc!=3 ){
 19      fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
 20      return(1);
 21    }
 22    rc = sqlite3_open(argv[1], &db);
 23    if( rc ){
 24      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
 25      sqlite3_close(db);
 26      return(1);
 27    }
 28    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
 29    if( rc!=SQLITE_OK ){
 30      fprintf(stderr, "SQL error: %s\n", zErrMsg);
 31      sqlite3_free(zErrMsg);
 32    }
 33    sqlite3_close(db);
 34    return 0;
 35  }

22번째 줄에서 Sqlite3 open()을 입력해서 데이터베이스를 연다. 29줄에 sqlite3 exec()는 SQL을 실행하는 것이다. 33줄에 sqlite3 close()는 데이터베이스 접속을 닫는 것이다.

3) Java 방법

eclipse에서 SQLite 데이터베이스 연동

  1. Window > Show View > Data Source Explorer를 선택한 뒤 Database Connections에서 마우스 오른쪽 버튼을 클릭하여 new 버튼을 선택한다.

    Image

  2. type은 SQLite를 선택한 뒤 next 버튼을 클릭한다.

    Image

  3. drivers에 + 버튼을 클릭하여 설치한 jar파일을 선택한다.

    Image

    Image

  4. 설치한 SQLite 파일 위치, user, password 등 드라이버에 대한 정보를 기재한 뒤 next 버튼을 클릭한다.

    Image

  5. 요약정보를 확인하고 finish 버튼을 클릭한다.

    Image

  6. Database connections에 연결이 된 것을 확인할 수 있다.

    Image

  7. scrapbook을 열어 DDL을 추가할 수 있다.

Image

maven과 연동 시

  1. pom.xml에 splite를 추가한다.

    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.25.2</version>
    </dependency>
    
  2. context-datasource에 드라이버에 대한 정보를 입력한다.

    <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource" >
        <property name="driverClass" value="org.sqlite.JDBC"/>
        <property name="url" value="jdbc:sqlite:C:/Users/USER/MySQLiteDB"/>             
        <property name="username" value=""/>
        <property name="password" value=""/>
    </bean>
    

References #

Incoming Links #

Related Bioinformaticses #

Suggested Pages #

0.0.1_20140628_0