How to Use database/sql in Go

A Complete Guide

Connect to a database, run queries, and fetch results using the standard Go database/sql package with a single code example.

Use database/sql by opening a connection with sql.Open, executing queries with Query or QueryRow, and closing the connection when done.

package main

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

func main() {
	db, err := sql.Open("sqlite3", ":memory:")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	_, err = db.Exec("CREATE TABLE users (id INTEGER, name TEXT)")
	if err != nil {
		panic(err)
	}

	_, err = db.Exec("INSERT INTO users (id, name) VALUES (1, 'Alice')")
	if err != nil {
		panic(err)
	}

	var id int
	var name string
	err = db.QueryRow("SELECT id, name FROM users WHERE id = ?", 1).Scan(&id, &name)
	if err != nil {
		panic(err)
	}

	fmt.Printf("ID: %d, Name: %s\n", id, name)
}