針對(duì)mysql數(shù)據(jù)庫:
首先go提供了database/sql接口用于注冊(cè)數(shù)據(jù)庫驅(qū)動(dòng)。
常使用github.com/go-sql-driver/mysql 數(shù)據(jù)庫驅(qū)動(dòng)進(jìn)行數(shù)據(jù)處理。
首先下載mysql數(shù)據(jù)庫驅(qū)動(dòng)。執(zhí)行
go get github.com/go-sql-driver/mysql
如果你已經(jīng)下載完畢比然,那么你就可以在gopath/pkg包文件目錄看到他了。
那么我們?nèi)绾问褂眠@個(gè)驅(qū)動(dòng)進(jìn)行數(shù)據(jù)庫的增刪改查操作呢裁良?
so
package main
import(
_ "github.com/go-sql-driver/mysql" //導(dǎo)入這個(gè)包
"database/sql" //而且要導(dǎo)入這個(gè)包
"fmt"
)
func main(){
//首先我們打開一個(gè)數(shù)據(jù)庫驅(qū)動(dòng)
db , err := sql.Open("mysql" , "root:@/test?charset=utf8")
if err != nil{
panic(err)
}
//接下來环肘,我們添加一條數(shù)據(jù)
qry , err := db.Prepare("INSERT INTO t_user (name,age) VALUES (?,?)")
if err != nil{
panic(err)
}
res , err := qry.Exec("xin2017","26")
if err != nil{
panic(err)
}
fmt.Println(res.LastInsertId())
//然后勿璃,我們需要查看一下剛才添加的數(shù)據(jù)
users , err := db.Query("select id,name,age from t_user")
if err != nil{
panic(err)
}
for users.Next(){ //遍歷一下數(shù)據(jù)
var id int
var name string
var age int
users.Scan(&id , &name ,&age)
fmt.Println(id,name,age)
}
//再然后抗碰,我們修改一下id=1的用戶的昵稱為‘萌妹子2018’
qry2 , err := db.Prepare("UPDATE t_user SET name = 'meng2018' where id = ?")
if err != nil{
panic(err)
}
updaterow , err := qry2.Exec(1)
if err != nil{
panic(err)
}
affectrow , err:= updaterow.RowsAffected()
if err != nil{
panic(err)
}
fmt.Println(affectrow)
//最后狮斗,我們刪除剛才添加的所有的name='xin2017'
qry3 , err := db.Prepare("DELETE from t_user WHERE name = ?")
if err != nil{
panic(err)
}
deleterow , err := qry3.Exec("xin2017")
if err != nil{
panic(err)
}
affectrow2 , err:= deleterow.RowsAffected()
if err != nil{
panic(err)
}
fmt.Println(affectrow2)
}
ps : 在此做個(gè)學(xué)習(xí)之后的產(chǎn)出。說不好某個(gè)想你的夜晚改含,我就忍不住打開看了一遍情龄。。捍壤。最后默念一個(gè)字:賞!0鞍鹃觉!