go语言操作mysql数据库

1、使用go get命令,需提前安装git

下载    go get github.com/go-sql-driver/mysql


2、导入包
import (
          "database/sql"
          _"github.com/Go-SQL-Driver/MySQL"
)


3、链接数据库
Open函数:
db, err := sql.Open("mysql", "用户名:密码@tcp(IP:端口)/数据库?charset=utf8")
例如:db, err := sql.Open("mysql", "root:111111@tcp(127.0.0.1:3306)/test?charset=utf8")


4、增删改查

增加
有两种方法:
    1.直接使用Exec函数添加
        result, err := db.Exec("INSERT INTO userinfo (username, departname, created) VALUES (?, ?, ?)","lily","销售","2016-06-21")
    2.首先使用Prepare获得stmt,然后调用Exec添加
        stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")
        res, err := stmt.Exec("zhja", "研发", "2016-06-17")
        另一个经常用到的功能,获得刚刚添加数据的自增ID
        id, err := res.LastInsertId()

删除
    删除和上面的增加语法一样,只是把其中的INSERT语句改为DELETE语句
修改
    修改和上面的增加语法一样,只是把其中的INSERT语句改为UPDATE语句

查询
查询单条数据,QueryEow 函数
var username, departname, created string
err := db.QueryRow("SELECT username,departname,created FROM userinfo WHERE uid=?", 3).Scan(&username, &departname, &created)


查询多条数据,并遍历

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)
    }
5.事务
    在操作数据库之前执行,db.Begin()
    例:tx, err := db.Begin()
    保存到数据库:err := tx.Commit()
    回滚:err := tx.Rollback()
    注意设置事务以后操作数据库就不是db了,而是tx


标签: mysql golang
2017.7.19   /   热度:1132   /   分类: golang

发表评论:

©地球仪的BLOG  |  Powered by Emlog