Skip to content

Latest commit

History

364 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

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)
iferr!=nil {
returnerr
}
deferconn.Close()
// Execute a query.err=sqlitex.ExecuteTransient(conn, "SELECT 'hello, world';", &sqlitex.ExecOptions{
ResultFunc: func(stmt*sqlite.Stmt) error {
fmt.Println(stmt.ColumnText(0))
returnnil
},
})
iferr!=nil {
returnerr
}

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

About

Low-level Go interface to SQLite 3

Topics

Resources

Code of conduct

Contributing

Stars

980 stars

Watchers

7 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages