美文网首页golang
【golang】操作mysql数据库

【golang】操作mysql数据库

作者: 七八个星天 | 来源:发表于2019-08-02 22:13 被阅读0次

安装驱动
go get -u -v github.com/go-sql-driver/mysql
代码:
注:import "github.com/go-sql-driver/mysql",并且在其前面加上“_”.这是因为mysql驱动需要初始化,因此需要引入包,但在这个文件中,这个包并没有被直接使用,所有前面加上“_”

package models

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

func init() {
    //操作数据库代码
    //第一个参数是数据库驱动
    //第二个参数是链接数据库字符串
    //u:u@tcp(127.0.0.1:3306)
    conn, err := sql.Open("mysql", "u:u@tcp(127.0.0.1:3306)/u?charset=utf8")
    if err != nil {
        beego.Error("链接错误", err)
        return
    }
    /*
        //创建表
        _, err = conn.Exec("create table user(name varchar(40) ,password varchar(40) )")
        if err != nil {
            beego.Error("创建表失败", err)
        }
    */
    /*
        //插入数据
        conn.Exec("insert into user values(?,?)","tom","000000")
    */
    /*
        //插入多条数据(预处理)
        users:=[][]string{{"lilei","000000"},{"hanmeimei","000000"}}
        stat,_:=conn.Prepare("insert into user values(?,?)")
        for _,s:=range users{
            stat.Exec(s[0],s[1])
        }

    */
    //查询多行数据
    res, err := conn.Query("select * from user ")
    fmt.Println(res)
    var person user
    for res.Next() {
        res.Scan(&person.name, &person.password)
        beego.Info(person)
    }
    //关闭数据库连接
    conn.Close()

}

type user struct {
    name     string
    password string
}

相关文章

网友评论

    本文标题:【golang】操作mysql数据库

    本文链接:https://www.haomeiwen.com/subject/ydbfdctx.html