zombiezen/go-sqlite

Low-level Go interface to SQLite 3

Go

981

363 commits

updated Jul 17, 2026

See the code

README

zombiezen.com/go/sqlite

Go Reference

This package provides a low-level Go interface to SQLite 3. It is a fork of crawshaw.io/sqlite that uses modernc.org/sqlite, a CGo-free SQLite package. It aims to be a mostly drop-in replacement for crawshaw.io/sqlite.

This package deliberately does not provide a database/sql driver. See David Crawshaw's rationale for an in-depth explanation. If you want to use database/sql with SQLite without CGo, use modernc.org/sqlite directly.

Features

Install

go get zombiezen.com/go/sqlite

While this library does not use CGo, make sure that you are building for one of the supported architectures.

Getting Started

import (
  "fmt"

  "zombiezen.com/go/sqlite"
  "zombiezen.com/go/sqlite/sqlitex"
)

// ...

// Open an in-memory database.
conn, err := sqlite.OpenConn(":memory:", sqlite.OpenReadWrite)
if err != nil {
  return err
}
defer conn.Close()

// Execute a query.
err = sqlitex.ExecuteTransient(conn, "SELECT 'hello, world';", &sqlitex.ExecOptions{
  ResultFunc: func(stmt *sqlite.Stmt) error {
    fmt.Println(stmt.ColumnText(0))
    return nil
  },
})
if err != nil {
  return err
}

If you're creating a new application, see the package examples or the reference docs.

If you're looking to switch existing code that uses crawshaw.io/sqlite, take a look at the migration docs.

License

ISC

database
golang
golang-library
golang-package
sqlite
sqlite3

Project health

Overall

4.5/10

Maintained

0/10

Code review

2/10
OpenSSF Scorecard

Latest release

v1.4.2 · May 23, 2025

Releases this year

0

Significant stargazers

(top 24 of 39)

Daniel Martí

2,563 followers · starred Dec 2023

Stefan Prodan

8,274 followers · starred Dec 2023

Johannes Würbach

124 followers · starred Jan 2022

Eno Compton

461 followers · starred Dec 2023

zombiezen/go-sqlite

Low-level Go interface to SQLite 3

Go

981

363 commits

updated Jul 17, 2026

See the code

README

zombiezen.com/go/sqlite

Go Reference

This package provides a low-level Go interface to SQLite 3. It is a fork of crawshaw.io/sqlite that uses modernc.org/sqlite, a CGo-free SQLite package. It aims to be a mostly drop-in replacement for crawshaw.io/sqlite.

This package deliberately does not provide a database/sql driver. See David Crawshaw's rationale for an in-depth explanation. If you want to use database/sql with SQLite without CGo, use modernc.org/sqlite directly.

Features

Install

go get zombiezen.com/go/sqlite

While this library does not use CGo, make sure that you are building for one of the supported architectures.

Getting Started

import (
  "fmt"

  "zombiezen.com/go/sqlite"
  "zombiezen.com/go/sqlite/sqlitex"
)

// ...

// Open an in-memory database.
conn, err := sqlite.OpenConn(":memory:", sqlite.OpenReadWrite)
if err != nil {
  return err
}
defer conn.Close()

// Execute a query.
err = sqlitex.ExecuteTransient(conn, "SELECT 'hello, world';", &sqlitex.ExecOptions{
  ResultFunc: func(stmt *sqlite.Stmt) error {
    fmt.Println(stmt.ColumnText(0))
    return nil
  },
})
if err != nil {
  return err
}

If you're creating a new application, see the package examples or the reference docs.

If you're looking to switch existing code that uses crawshaw.io/sqlite, take a look at the migration docs.

License

ISC

database
golang
golang-library
golang-package
sqlite
sqlite3

Project health

Overall

4.5/10

Maintained

0/10

Code review

2/10
OpenSSF Scorecard

Latest release

v1.4.2 · May 23, 2025

Releases this year

0

Significant stargazers

(top 24 of 39)

Daniel Martí

2,563 followers · starred Dec 2023

Stefan Prodan

8,274 followers · starred Dec 2023

Johannes Würbach

124 followers · starred Jan 2022

Eno Compton

461 followers · starred Dec 2023