[노드JS] SQLite 연결하기

이준섭·2020년 7월 1일
1
post-thumbnail

노드js에서 데이터베이스를 SQLite로 사용하려면 npm을 이용해서 sqlite 패키지를 받아야 합니다.

npm install sqlite3

SQLite에 연결할 수 있는 데이터베이스는 2가지가 있습니다.

1. In-memory based database

In-memory based database는 컴퓨터의 메인메모리(RAM)에 데이터 저장을 합니다. In-memory 데이터베이스를 사용하게 되면 가장 빠르게 작동하지만 사이즈가 메모리에 한해서 제한적인 단점이 있습니다.

In-memory based database로 SQLite에 연결하는 코드:

const sqlite3 = require('sqlite3').verbose();

// open database in memory
let db = new sqlite3.Database(':memory:', (err) => {
  if (err) {
    return console.error(err.message);
  }
  console.log('Connected to the in-memory SQlite database.');
});

// close the database connection
db.close((err) => {
  if (err) {
    return console.error(err.message);
  }
  console.log('Close the database connection.');
});

new sqlite3.Database() 안에 있는 string값으로 데이터베이스를 지정해 줄 수 있습니다. 지금처럼 ':memory:'가 값이면 In-memory 데이터베이스를 쓰고 있다는 것을 뜻합니다. 마지막으로 데이터베이스 관련 작업이 끝나면 db.close()를 반드시 해주어야 합니다.
터미널에서 위와 같은 결과가 나오게 되면 성공적으로 연결이 된겁니다.

2. Disk File based database

가상의 무제한 데이타베이스 크기를 제공하고 데이터는 항상 디스크에 유지하는 것이 Disk File based database입니다.

Disk File 데이터베이스를 사용하려면 우선 샘플 데이터베이스를 받아오고 프로젝트 안에 포함시켜야 합니다.

https://www.sqlitetutorial.net/sqlite-sample-database/
링크를 클릭하고 위와 같은 화면이 보이면 첫 번째 버튼을 클릭하여 zip파일을 받아오고 압축을 풀게 되면 chinook.db 라는 하나의 파일이 보이게 될 것입니다.
프로젝트안에 DB라는 폴더를 생성한 후 이 파일을 넣어줍니다.

Disk File based database로 SQLite에 연결하는 코드:

const sqlite3 = require('sqlite3').verbose();

// open database in memory
let db = new sqlite3.Database('./db/chinook.db', (err) => {
    if (err) {
        console.error(err.message);
    }
    console.log('Connected to the chinook database.');
})

// close the database connection
db.close((err) => {
    if (err) {
        return console.error(err.message);
    }
    console.log('Close the database connection.');
});

new sqlite3.Database('./db/chinook.db', ....) 의 코드를 제외하면 1번의 코드와 똑같습니다.
터미널에 이와 같은 결과가 나오면 성공적으로 연결이 된겁니다.

profile
백엔드 개발자가 되고 싶은 학생입니다

0개의 댓글