[SQLite3] 01. C API 연동하기 및 기초 코드
안녕하세요. 09LABS 입니다.
오늘은 Database 중 하나인 SQLite3를 C언어를 사용하여 연동하는 방법에 대해 알아보겠습니다.
우선 sqlite3 라이브러리를 설치해줘야 합니다.
1
|
$ sudo apt-get install libsqlite3-dev
|
cs |
sqlite3 라이브러리 설치가 완료되면 C 코드를 작성합니다.
1
|
$ vim sqlite_test.c
|
cs |
편집기는 자주 사용하시는 것으로 하면 됩니다. 저는 vim 편집기를 주로 사용합니다.
먼저 전체 코드를 한번 보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <stdio.h>
#include <sqlite3.h>
int main(void){
int rc = 0;
sqlite3 *db;
rc = sqlite3_open("test.db", &db);
if(!rc)
printf("open successfully!\n");
sqlite3_close(db);
return 0;
}
|
cs |
Line 2 - sqlite3 헤더 참조
Line 9 - test.db 파일 open
Line 11 - sqlite3_open 이 정상적으로 수행되었을 경우 메세지 출력
Line 14 - open 한 test.db 파일 닫기
위 코드는 가장 기본적인 sqlite3 파일을 열고, 파일이 정상적으로 open 되면 메세지 출력 후 종료하는 예제입니다.
int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ );
첫 번째 인자는 filename, 즉 데이터 베이스 파일이 위치한 경로 또는 이름을 의미합니다.
데이터베이스 파일의 경로를 적어주면 해당 경로의 데이터베이스 파일을 open하며
파일 명을 적어줄 경우 현재 위치한 경로 (pwd)의 파일을 open합니다.
두 번째 인자는 출력 인자로 sqlite3 객체로 open 한 결과를 전달하며 정상적으로 open이 될 경우
sqlite3 객체를 활용하여 쿼리를 실행하거나 다양한 작업을 수행할 수 있습니다.
open이 정상적으로 수행될 경우 SQLITE3_OK를 반환합니다.
int sqlite3_close(sqlite3*);
sqlite3_close 함수는 sqlite3 데이터베이스 연결을 닫는 함수로 인자로 sqlite3 객체를 입력합니다.
정상적으로 연결이 닫힐 경우 SQLITE3_OK를 반환합니다.