go mysql 操作CURD

数据库数据结构

go mysql 操作CURD_第1张图片

代码演示

package main

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

func main() {
    db, err := sql.Open("mysql", "root:LZX1992-:=@tcp(58.87.92.197:3306)/my_blog?charset=utf8")
    if err != nil {
        panic(err)

    }
    Get(db)
    Insert(db)
    update(db ,"葫芦公司",96)
    del(db, 96)
}

func Get(db *sql.DB) {

    rows, err := db.Query("select  * from class where class_id = ?", 3)
    if err != nil {
        panic(err)

    }
    arr := []map[string]interface{}{}
    for rows.Next() {
        var m = make(map[string]interface{})
        var classId int
        var className string
        err = rows.Scan(&classId, &className)
        m["class_name"] = className
        m["class_id"] = classId
        arr = append(arr, m)

    }

    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("b->", arr)
}

func Insert(db *sql.DB) {
    stmt, err := db.Prepare("insert class set class_name=?")
    res, err := stmt.Exec("Golang")
    //row,err := res.RowsAffected()受影响行数
    classId, err := res.LastInsertId() //返回最后一个ID
    if err != nil {
        panic(err)
        return
    }
    fmt.Println(classId)

}

func update(db *sql.DB, name string, id int) {
    stmt, err := db.Prepare("update class set class_name = ? where class_id=?")
    res, err := stmt.Exec(name, id)
    row, err := res.RowsAffected() //受影响行数
    if err != nil {
        panic(err)
        return
    }
    fmt.Println(row)

}

func del(db *sql.DB, id int) {
    stmt, err := db.Prepare("DELETE FROM class WHERE class_id =?")
    res, err := stmt.Exec(id)
    row, err := res.RowsAffected() //受影响行数
    if err != nil {
        panic(err)
        return
    }
    fmt.Println(row)
}

你可能感兴趣的:(go,mysql,go,mysql,数据库,学习)