golang使用go-sql-driver實現mysql增刪改操作

disable發表於2021-09-09


這兩天用golang  寫的服務端做的都是和redis做互動,因為後期還會用mysql的一個表做驗證。  先學習下golang對mysql的操作  !

mymysql和go-mysql-driver是兩個現在都很流行的go的mysql驅動,看了下文件,後者比較的健全,聽大牛們介紹,貌似go-mysql-driver更加的健全。

安裝配置還是那麼簡單,直接go get就可以了

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

好了,我們們就開始用go-sql-driver增刪改查

先用go-sql-driver連結mysql !!!

一看就懂了,帳號:密碼@模式           資料庫,以及附帶的引數

user@unix(/path/to/socket)/dbname

root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local

user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true

完整的例子!

//xiaorui.cc

#xiaorui.cc

package main

import (

    "database/sql" //這包一定要引用,是底層的sql驅動

    "fmt"

    _ "github.com/go-sql-driver/mysql"

    "strconv" //這個是為了把int轉換為string

)

func main() {  //main函式

    db, err := sql.Open("mysql", "root:@tcp(localhost:3306)/dbname?charset=utf8")

    //資料庫連線字串,別告訴我看不懂。埠一定要寫/

       if err != nil {  //連線成功 err一定是nil否則就是報錯

                panic(err.Error()) //丟擲異常

        fmt.Println(err.Error())//僅僅是顯示異常

    }

    defer db.Close()  //只有在前面用了 panic 這時defer才能起作用,如果連結資料的時候出問題,他會往err寫資料

                                                                                

    rows, err := db.Query("select id,lvs from xiaorui")

    //判斷err是否有錯誤的資料,有err資料就顯示panic的資料

    if err != nil {

                panic(err.Error())

        fmt.Println(err.Error())

        return

    }

    defer rows.Close()

    var id int  //定義一個id 變數

    var lvs string //定義lvs 變數

    for rows.Next() { //開始迴圈

        rerr := rows.Scan(&id, &lvs)  //資料指標,會把得到的資料,往剛才id 和 lvs引入

        if rerr == nil {

            fmt.Println("id號是",strconv.Itoa(id) + "     lvs lvs是"+ lvs) //輸出來而已,看看

        }

    }

        insert_sql := "INSERT INTO xiaorui(lvs) VALUES(?)"

        _, e4 := db.Exec(insert_sql,"nima")                                                             

        fmt.Println(e4)

       db.Close() //關閉資料庫

}

wKioL1MxLCWy7L-qAAIYdscA1JM573.jpg

©著作權歸作者所有:來自51CTO部落格作者rfyiamcool的原創作品,謝絕轉載,否則將追究法律責任

go go-sql-drivergo mysqlgo 資料庫Golang


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2820676/,如需轉載,請註明出處,否則將追究法律責任。

相關文章