github.com/glebarez/go-sqlite@v1.21.1/examples/example1/main.go (about) 1 package main 2 3 import ( 4 "database/sql" 5 "fmt" 6 "os" 7 "path/filepath" 8 9 _ "github.com/glebarez/go-sqlite" 10 ) 11 12 func main() { 13 if err := main1(); err != nil { 14 fmt.Println(err) 15 os.Exit(1) 16 } 17 } 18 19 func main1() error { 20 dir, err := os.MkdirTemp("", "test-") 21 if err != nil { 22 return err 23 } 24 25 defer os.RemoveAll(dir) 26 27 fn := filepath.Join(dir, "db") 28 29 db, err := sql.Open("sqlite", fn) 30 if err != nil { 31 return err 32 } 33 34 if _, err = db.Exec(` 35 drop table if exists t; 36 create table t(i); 37 insert into t values(42), (314); 38 `); err != nil { 39 return err 40 } 41 42 rows, err := db.Query("select 3*i from t order by i;") 43 if err != nil { 44 return err 45 } 46 47 for rows.Next() { 48 var i int 49 if err = rows.Scan(&i); err != nil { 50 return err 51 } 52 53 fmt.Println(i) 54 } 55 56 if err = rows.Err(); err != nil { 57 return err 58 } 59 60 if err = db.Close(); err != nil { 61 return err 62 } 63 64 fi, err := os.Stat(fn) 65 if err != nil { 66 return err 67 } 68 69 fmt.Printf("%s size: %v\n", fn, fi.Size()) 70 return nil 71 }