← Level 4 – Data pro

Pelajaran 4 dari 6 ⏱ 45 menit Premium

SQLite – database dalam satu file

Instal SQLite di Node.js dan simpan baris pertama kamu ke dalam tabel.

Apa itu SQLite

SQLite adalah database yang disimpan dalam file tunggal (misalnya web.db). kamu tidak perlu menginstal server besar apa pun – ideal untuk pembelajaran dan proyek kecil. Data di dalamnya bertahan saat Node.js dimulai ulang.

Di Node.js kita akan menggunakan paket better-sqlite3:

cd my-server
npm install better-sqlite3

Tunjukkan pada saya: tabel dan catatan pertama

Di server.js (atau database.js baru yang kamu impor):

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);

Jalankan node server.js (atau skrip pengujian singkat). kamu akan melihat serangkaian objek di konsol. File bernama web.db muncul di folder proyek kamu – itulah keseluruhan database.

💡

Singkatnya SQL: CREATE TABLE = tabel baru (seperti sheet di Excel). INSERT = menambahkan baris. PILIH = membaca data. Tanda tanya ? di persiapkan lindungi dari injeksi SQL – jangan pernah menyisipkan teks pengguna secara langsung ke dalam string kueri!

Giliran kamu 💪

  1. Instal better-sqlite3 di folder server kamu.
  2. Buat tabel vzkazy mengikuti contoh (kolom: id, jmeno, text, vytvoreno).
  3. Masukkan 3 pesan percobaan menggunakan INSERT.
  4. Hentikan skrip, jalankan kembali, dan PILIH sekali lagi – apakah datanya masih ada?
  5. Tambahkan web.db ke .gitignore (dalam produksi, setiap server memiliki database sendiri; terkadang diekspor secara terpisah).

Periksa: File web.db ada, dan data tetap ada setelah restart. Pada pelajaran selanjutnya kita akan menghubungkan seluruh buku tamu ke dalamnya melalui API.

Apa yang bisa diambil dari pelajaran ini