1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| package main
import ( "database/sql" "fmt" "log" "math/rand"
_ "github.com/go-sql-driver/mysql" )
func main() { dsn := "root:123456@tcp(127.0.0.1:3306)/practice" db, err := sql.Open("mysql", dsn)
if err != nil { panic(err) } if err = db.Ping(); err != nil { panic(err) } fmt.Println("connect mysql success") db.SetMaxOpenConns(5) rows := db.QueryRow("select val from gap where id = ?", 10828) var v int rows.Scan(&v) fmt.Println("v:", v)
rows2, err := db.Query("select * from gap") if err != nil { log.Fatal(err) } defer rows2.Close() for rows2.Next() { var i, val int rows2.Scan(&i, &val) fmt.Println("i=", i, ",v=", val) }
res, err := db.Exec("insert into gap (val) values (?)", rand.Intn(1000)) if err != nil { log.Fatal(err) } idx, _ := res.LastInsertId() affects, _ := res.RowsAffected() fmt.Println("idx:", idx, ",affr:", affects)
stmt, err := db.Prepare("select * from gap where id = ?") if err != nil { log.Fatal(err) } row3 := stmt.QueryRow(4) var id, val int row3.Scan(&id, &val) fmt.Println("id:", id, ",val:", val) stmt0, err := db.Prepare("insert into gap (val) values(?)") if err != nil { log.Fatal(err) } for i := 0; i < 10; i++ { stmt0.Exec(rand.Intn(1000)) } }
|