← 레벨 4 – 데이터 프로

수업 4/6 ⏱ 45 분 프리미엄

SQLite – 단일 파일의 데이터베이스

Node.js에 SQLite를 설치하고 첫 번째 행을 테이블에 저장해.

SQLite란 무엇인가

SQLite단일 파일에 저장된 데이터베이스야(예:web.db). 큰 서버를 설치할 필요가 없어. 학습 및 소규모 프로젝트에 이상적야. 그 안의 데이터는 Node.js를 다시 시작해도 유지돼.

Node.js에서는better-sqlite3패키지:

cd my-server
npm install better-sqlite3

보여줄게: 테이블과 첫 번째 레코드

에서server.js(또는 새로운database.js가져오는 것):

const Database = require("better-sqlite3");
const db = new Database("web.db");

// Create the table if it doesn't exist yet
db.exec(`
  CREATE TABLE IF NOT EXISTS vzkazy (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    jmeno TEXT NOT NULL,
    text TEXT NOT NULL,
    vytvoreno TEXT DEFAULT CURRENT_TIMESTAMP
  )
`);

// Insert one row
const vloz = db.prepare("INSERT INTO vzkazy (jmeno, text) VALUES (?, ?)");
vloz.run("Martin", "First message in the database! 🎉");

// Read all rows
const vse = db.prepare("SELECT * FROM vzkazy").all();
console.log(vse);

달리다node server.js(또는 짧은 테스트 스크립트). 콘솔에 객체 배열이 표시돼. **라는 파일web.db**는 프로젝트 폴더에 나타나. 이는 전체 데이터베이스야.

💡
**SQL 요약:**`CREATE TABLE`= 새 테이블(Excel의 시트와 같은)`INSERT`= 행을 추가해.`SELECT`= 데이터를 읽어. 물음표`?`~에`prepare`**SQL 주입**으로부터 보호해. 쿼리 문자열에 사용자 텍스트를 직접 삽입하지 마세요!

네 차례 💪

  1. 설치better-sqlite3서버 폴더에 있어.
  2. 만들기vzkazy예제(열: id, jmeno, text, vytvoreno)를 따르는 테이블야.
  3. 다음을 사용하여 3개의 테스트 메시지를 삽입해.INSERT.
  4. 스크립트를 중지하고 다시 실행한 다음SELECT다시 한 번 – 데이터가 아직 거기 있어??
  5. 추가web.db에게.gitignore(프로덕션에서는 모든 서버에 자체 데이터베이스가 있으며 때로는 별도로 내보내지는 경우도 있어.)
**확인:** 파일`web.db`존재하며, 다시 시작해도 데이터가 남아 있어. 다음 강의에서는 API를 통해 전체 방명록을 방명록에 연결할 거야.

이번 수업에서 배울 점