golang读写mysql的例子,使用mymysql驱动

DarkWingBoy · · 6793 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

http://www.dotcoo.com/golang-mysql-mymysql

 

 

golang,做很多系统都离不开数据库,当然最常用的还是mysql,今天测试了一下连接mysql数据库,呼呼爽啊.再次为golang欢呼.

这次用的是golang的mymysql驱动,好久没有用mysql了,还是忘不了她.

package main
       
import (
    "fmt"
    "database/sql"
    "github.com/ziutek/mymysql/godrv"
)
       
// 用户结构
type User struct {
    uid int
    username string
    password string
}
       
func main() {
    // 设置连接编码
    godrv.Register("SET NAMES utf8")
       
    // 连接数据库
    db, err := sql.Open("mymysql", "tcp:127.0.0.1:3306*go/root/123456")
    if err != nil {
        panic(err)
    }
    defer db.Close()
             
    // 插入数据
    stmt, err := db.Prepare("insert into user values(null, ?, ?)")
    if err != nil {
        panic(err)
    }
    defer stmt.Close()
             
    // sql参数
    result, err := stmt.Exec("豆蔻", "dotcoo.com")
    if err != nil {
        panic(err)
    }
          
    // 获取影响的行数
    affect, err := result.RowsAffected()
    if err != nil {
        panic(err)
    }
    fmt.Printf("%d\n", affect)
          
    // 获取自增id
    id, err := result.LastInsertId()
    if err != nil {
        panic(err)
    }
    fmt.Printf("%d\n", id)
          
    // 查询数据
    rows, err := db.Query("select * from user")
    if err != nil {
        panic(err)
    }
    defer rows.Close()
       
    // 获取的用户
    users := []User{}
       
    // 读取数据
    for rows.Next() {
        user := User{}
        err := rows.Scan(&user.uid, &user.username, &user.password)
        if nil != err {
            panic(err)
        }
       
        users = append(users, user)
    }
       
    // 显示用户信息
    for _, user := range users {
        fmt.Printf("%d, %s, %s\n", user.uid, user.username, user.password)
    }
}

有疑问加站长微信联系(非本文作者)

本文来自:ITEYE博客

感谢作者:DarkWingBoy

查看原文:golang读写mysql的例子,使用mymysql驱动

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6793 次点击  ∙  2 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传