Go连接数据库

下载mysql的驱动

go get github.com/go-sql-driver/mysql
package sqldriver

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)

func consql(){
    db,err := sql.Open("mysql","root:root@(127.0.0.1)/test")
    if err != nil {
        fmt.Println("something is wrong")
    }else {
        fmt.Println("successful")
    }
    defer db.Close()
}

func testsqlcon(){
    db,err := sql.Open("mysql","root:root@/test?charset=utf8")
    checkErr(err)
    //插入数据
    stmt,err := db.Prepare("INSERT student set name=?,age=?")
    checkErr(err)
    res,err := stmt.Exec("Pandy","22")
    checkErr(err)
    id,err := res.LastInsertId()
    checkErr(err)
    fmt.Println(id)
    //更新数据
    stmt,err = db.Prepare("update student set username=? where id =?")
    checkErr(err)
    res,err = stmt.Exec("tinyfry","1")
    checkErr(err)
    affect,err := res.RowsAffected()
    checkErr(err)
    fmt.Println(affect)
    //查询数据
    rows,err := db.Query("select *from student")
    checkErr(err)
    for rows.Next()  {
        var id int
        var name string
        var age int
        err = rows.Scan(&id,&name,&age)
        checkErr(err)
        fmt.Println(id)
        fmt.Println(name)
        fmt.Println(age)
    }
    //删除数据
    stmt,err = db.Prepare("delete from student where id = ")
    checkErr(err)
    res,err = stmt.Exec(id)
    checkErr(err)
    affect,err =res.RowsAffected()
    checkErr(err)
    fmt.Println(affect)
    db.Close()
}

func checkErr(err error){
    if err != nil {
        panic(err)
    }
}

你可能感兴趣的:(Go连接数据库)