go+mysql的增删改查

go语言实现mysql的增删改查主要靠mysql驱动来实现。
1:安装mysql驱动,
go get -u github.com/go-sql-driver/mysql,如果由于网络的原因实现不了这个可以将github.com/go-sql-driver/mysql 下载下来,然后将其move到GOPATH目录下面,然后执行 go install mysql。
2:go和数据库的增删改查
1:连接数据库

import (
    "database/sql"
    "fmt"
    "strings"
    _ "mysql"
)
const (
    userName = "root"
    password = "xiaosa0039"
    ip = "127.0.0.1"
    port = "3306"
    dbName = "testgo"
)
func main(){
    path := strings.Join([]string{userName, ":", password, "@tcp(",ip, ":", port, ")/", dbName, "?charset=utf8"}, "")
    db, err := sql.Open("mysql", path)
}

可以采用const 将数据库登录信息保存下来,然后拼接成为字符串,然后登录。
2:增加数据
增加数据大致可以分成以下三个部分:
1:准备SQL语句。
2:执行SQL语句。
3:获取最后一个自增ID

    stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
    checkErr(err)
    res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")
    checkErr(err)
    id, err := res.LastInsertId()
    checkErr(err)

3:修改数据也分为三个部分
1:准备SQL语句
2:执行SQL语句
3:获取最后一个自增ID

   stmt, err = db.Prepare("update userinfo set username=? where uid=?")
    checkErr(err)
    res, err = stmt.Exec("astaxieupdate", id)
    checkErr(err)
    affect, err := res.RowsAffected()
    checkErr(err)
    fmt.Println(affect)

4:删除数据

    stmt, err = db.Prepare("delete from userinfo where uid=?")
    checkErr(err)
    res, err = stmt.Exec(id)
    checkErr(err)
    affect, err = res.RowsAffected()
    checkErr(err)

5:查询数据

   rows, err := db.Query("SELECT * FROM userinfo")
    checkErr(err)

    for rows.Next() {
        var uid int
        var username string
        var department string
        var created string
        err = rows.Scan(&uid, &username, &department, &created)
        checkErr(err)
        fmt.Println(uid)
        fmt.Println(username)
        fmt.Println(department)
        fmt.Println(created)
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容