打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Go语言读写数据库
import "database/sql"
import _ "github.com/go-sql-driver/mysql" 
db, e := sql.Open("mysql", "user:password@/dbname?charset=utf8")
使用的数据表:

CREATE TABLE `userinfo` (
`uid` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(64) DEFAULT NULL,
`departname` varchar(64) DEFAULT NULL,
`created` date DEFAULT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

代码:
package main
 
import(
    "database/sql"
    "fmt"
    _"github.com/go-sql-driver/mysql"
)
 
func main(){
    db,err:=sql.Open("mysql","root:root@tcp(localhost:8889)/ghj1976test?charset=utf8")
    checkErr(err)
 
    //插入数据
    stmt,err:=db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")
    checkErr(err)
 
    res,err:=stmt.Exec("ghj1976","RD部门","2013-03-18")
    checkErr(err)
 
    res,err=stmt.Exec("astaxie","RD部门","2012-12-09")
    checkErr(err)
 
    id,err:=res.LastInsertId()
    checkErr(err)
 
    fmt.Println(id)
 
    //修改数据
    stmt,err=db.Prepare("update user info set username=? where uid=?")
    checkErr(err)
 
    res,err=stmt.Exec("astaxieupdate",id)
    checkErr(err)
 
    affect,err:=res.RowsAffected()
    checkErr(err)
 
    fmt.Println(affect)
 
    //搜索数据
    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)
    }
 
    //删除数据
    stmt,err=db.Prepare("delete from user info where uid=?")
    checkErr(err)
 
    res,err=stmt.Exec(id)
    checkErr(err)
 
    affect,err=res.RowsAffected()
    checkErr(err)
 
    fmt.Println(affect) 
    db.Close()
}
 
func checkErr(err error){
    if err!=nil{
        panic(err)
    }
}

db.Prepare()函数用来返回准备要执行的sql操作,然后返回准备完毕的执行状态。
db.Query()函数用来直接执行Sql返回Rows结果。
stmt.Exec()函数用来执行stmt准备好的SQL语句


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
golang连接mysql数据库实现增删改查
golang学习之旅:使用go语言操作mysql数据库
Go 的 MySQL 预处理、MySQL 事务
bulkwrite 批量插入
用JAVA从数据库中读出字段及内容
go语言操作mysql数据库 | 铁哥
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服