Database SQLite & MySQL
NusaScript mendukung koneksi langsung ke SQLite dan MySQL tanpa library tambahan.
Fungsi Database
| Fungsi | Keterangan |
|---|---|
db_sambung(driver, dsn) | Koneksikan ke database |
db_exec(db, query, ...param) | Eksekusi INSERT/UPDATE/DELETE |
db_query(db, query, ...param) | SELECT banyak baris → array peta |
db_satu(db, query, ...param) | SELECT satu baris → peta |
db_tutup(db) | Tutup koneksi database |
Koneksi SQLite
Contoh — SQLite
// File database otomatis dibuat jika belum ada
buat db = db_sambung("sqlite", "./data.db")
// Buat tabel
db_exec(db, "CREATE TABLE IF NOT EXISTS pengguna (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nama TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
)")
// Insert data
db_exec(db, "INSERT INTO pengguna (nama, email) VALUES (?, ?)",
"Budi", "budi@example.com")
// Select data
buat semua = db_query(db, "SELECT * FROM pengguna")
buat i = 0
selama i < panjang(semua) {
buat row = semua[i]
tampilkan(ambil(row, "id"), "-", ambil(row, "nama"))
i += 1
}
db_tutup(db)
Output
1 - Budi
Koneksi MySQL
Contoh — MySQL
// Format DSN MySQL: user:password@tcp(host:port)/database
buat db = db_sambung("mysql",
"root:password@tcp(localhost:3306)/toko_db")
buat produk = db_query(db,
"SELECT id, nama, harga FROM produk WHERE harga > ? ORDER BY harga ASC",
100000)
buat i = 0
selama i < panjang(produk) {
buat p = produk[i]
tampilkan(ambil(p, "nama"), "→ Rp", ambil(p, "harga"))
i += 1
}
db_tutup(db)
Penanganan Error
Contoh — Cek hasil db_exec
buat db = db_sambung("sqlite", "./data.db")
buat hasil = db_exec(db,
"INSERT INTO pengguna (nama, email) VALUES (?, ?)",
"Rina", "rina@example.com")
// Cek apakah ada error (misalnya email duplikat)
jika ambil(hasil, "err") != nihil {
tampilkan("Error:", ambil(hasil, "err"))
} lain {
buat id_baru = ambil(hasil, "id_terakhir")
tampilkan("Berhasil! ID baru:", id_baru)
}
Output (jika sukses)
Berhasil! ID baru: 2
Hasil db_exec
| Key Peta | Keterangan |
|---|---|
id_terakhir | ID auto-increment terakhir yang diinsert |
terpengaruh | Jumlah baris yang diubah |
err | Pesan error jika gagal (nihil jika sukses) |