SQLite
#
Find similar titles
- (rev. 24)
- syp
Structured data
- Category
- Database
Table of Contents
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 사용자 #
사용법 #
1. Download The Code
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 데이터베이스 연동
-
Window > Show View > Data Source Explorer를 선택한 뒤 Database Connections에서 마우스 오른쪽 버튼을 클릭하여 new 버튼을 선택한다.
-
type은 SQLite를 선택한 뒤 next 버튼을 클릭한다.
-
drivers에 + 버튼을 클릭하여 설치한 jar파일을 선택한다.
-
설치한 SQLite 파일 위치, user, password 등 드라이버에 대한 정보를 기재한 뒤 next 버튼을 클릭한다.
-
요약정보를 확인하고 finish 버튼을 클릭한다.
-
Database connections에 연결이 된 것을 확인할 수 있다.
-
scrapbook을 열어 DDL을 추가할 수 있다.
maven과 연동 시
-
pom.xml에 splite를 추가한다.
<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.25.2</version> </dependency>
-
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 #
- https://www.sqlite.org/
- https://ko.wikipedia.org/wiki/SQLite
- https://dbheart.tistory.com/36
- https://m.blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=220966818808&proxyReferer=https:%2F%2Fwww.google.com%2F
- https://kamang-it.tistory.com/entry/SQLiteSQLite-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
Incoming Links #
Related Bioinformaticses (Bioinformatics 0) #
Suggested Pages #
- 0.600 TransDecoder
- 0.300 SRA/전사체분석예제
- More suggestions...