LoginSignup
12
9

More than 5 years have passed since last update.

(メモ)mattn/go-sqlite3を使ってみた

Last updated at Posted at 2016-03-18

準備

go get github.com/mattn/go-sqlite3 

サンプル

memo.go
package main

import (
    "database/sql"
    "log"

    _ "github.com/mattn/go-sqlite3"
)

func execDB(db *sql.DB, q string) {
    if _, err := db.Exec(q); err != nil {
        log.Fatal(err)
    }
}

func main() {

    db, err := sql.Open("sqlite3", "./data.db")
    if err != nil {
        log.Fatal(err)
    }

    q := `
        CREATE TABLE memo (
          id INTEGER PRIMARY KEY AUTOINCREMENT,
          body VARCHAR(255) NOT NULL,
          created_at TIMESTAMP DEFAULT (DATETIME('now','localtime'))
        )
    `
    execDB(db, q)

    q = `
        INSERT INTO memo(body)
        VALUES ('body1'), ('body2')
    `
    execDB(db, q)

    db.Close()
}

実行

$ go run memo.go
$ echo "SELECT * FROM memo;" | sqlite3 ./data.db
1|body1|2016-03-19 08:00:51
2|body2|2016-03-19 08:00:51

(メモ)型情報を調べる

hogeの型を調べたい場合
package main
import (
    "fmt"
    "reflect"
)
func main() {
    fmt.Println(reflect.TypeOf(hoge))

}
12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9