استفاده از SQLite در پروژه‌های Go

SQLite یکی از پرکاربردترین پایگاه‌های داده سبک و بدون سرور است که برای بسیاری از پروژه‌های کوچک و متوسط مناسب می‌باشد. در زبان برنامه‌نویسی Go، امکان استفاده از SQLite به راحتی فراهم شده است. این مقاله به شما نشان می‌دهد چگونه می‌توانید SQLite را در پروژه‌های Go خود پیاده‌سازی کنید.

چرا SQLite؟

دلایل اصلی استفاده از SQLite عبارتند از:

  • سبک بودن و عدم نیاز به نصب سرور
  • سازگاری بالا با زبان‌های مختلف
  • مناسب برای اپلیکیشن‌های کوچک تا متوسط
  • پشتیبانی گسترده و مستندات کامل

راه‌اندازی محیط توسعه

برای شروع، ابتدا باید مطمئن شوید که Go و ابزار مدیریت بسته آن یعنی go mod روی سیستم شما نصب هستند. سپس بسته github.com/mattn/go-sqlite3 را که یکی از محبوب‌ترین کتابخانه‌ها برای کار با SQLite در Go است، نصب کنید:

go get github.com/mattn/go-sqlite3

ایجاد اتصال به پایگاه داده SQLite

برای ایجاد یک اتصال ساده به پایگاه داده، مراحل زیر را دنبال کنید:

package main

import (
    "database/sql"
    _ "github.com/mattn/go-sqlite3"
    "log"
)

func main() {
    // ایجاد یا باز کردن فایل پایگاه داده
    db, err := sql.Open("sqlite3", "example.db")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // ایجاد جدول نمونه
    statement, err := db.Prepare("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
    if err != nil {
        log.Fatal(err)
    }
    statement.Exec()
}

افزودن اطلاعات به پایگاه داده

برای افزودن اطلاعات جدید به جدول ایجاد شده:

// افزودن اطلاعات نمونه
statement, err := db.Prepare("INSERT INTO users (name) VALUES (?)")
if err != nil {
    log.Fatal(err)
}
statement.Exec("Ali")
statement.Exec("Sara")

خواندن اطلاعات از پایگاه داده

برای خواندن اطلاعات ذخیره شده:

// خواندن اطلاعات
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
    var id int
    var name string
    rows.Scan(&id, &name)
    log.Println(id, name)
}

جمع‌بندی

SQLite گزینه‌ای عالی برای پروژه‌هایی است که نیازمند یک پایگاه داده سبک هستند. با استفاده از کتابخانه go-sqlite3 می‌توانید به سرعت عملکردهای CRUD (ایجاد، خواندن، بروزرسانی و حذف) را پیاده‌سازی کنید. امیدواریم این آموزش نقطه شروع خوبی برای شما باشد!