色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go語言操作mysql

夏志豪2年前12瀏覽0評論

Go語言是一種十分強大的編程語言,也有著許多優秀的數據庫操作工具。其中,操作MySQL數據庫是Go語言中非常重要的一項工作,而且在實際應用中也經常被使用到。

在Go語言中操作MySQL數據庫,通常需要使用第三方庫。比如,現在我們來看一看如何使用Go語言中的“go-sql-driver/mysql”庫進行MySQL數據庫操作。

安裝“go-sql-driver/mysql”庫

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

連接到MySQL數據庫

import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:password@/dbname")
if err != nil {
panic(err.Error())
}
defer db.Close()
}

在以上代碼中,我們首先引入了“database/sql”和“github.com/go-sql-driver/mysql”兩個包,然后通過sql.Open()方法連接到MySQL數據庫,并捕獲任何可能的錯誤。最后,通過“defer”語句關閉數據庫連接。

查詢數據

rows, err := db.Query("SELECT id, name, age FROM users")
if err != nil {
panic(err.Error())
}
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
err := rows.Scan(&id, &name, &age)
if err != nil {
panic(err.Error())
}
}

在以上代碼中,我們通過db.Query()方法進行數據查詢,并通過for循環遍歷查詢結果。在循環體內,通過rows.Scan()方法獲取MySQL數據庫中讀取的數據。

插入數據

stmt, err := db.Prepare("INSERT INTO users(name, age) VALUES(?, ?)")
if err != nil {
panic(err.Error())
}
defer stmt.Close()
res, err := stmt.Exec("Jerry", 20)
if err != nil {
panic(err.Error())
}
id, err := res.LastInsertId()
if err != nil {
panic(err.Error())
}

在以上代碼中,我們首先使用db.Prepare()方法構造一個SQL語句,然后使用stmt.Exec()方法插入數據到MySQL數據庫中,“defer”語句用于關閉數據庫句柄。最后,使用res.LastInsertId()方法獲取插入數據的自增ID。

更新數據

stmt, err := db.Prepare("UPDATE users SET name=?, age=? WHERE id=?")
if err != nil {
panic(err.Error())
}
defer stmt.Close()
res, err := stmt.Exec("Jerry2", 21, 1)
if err != nil {
panic(err.Error())
}
affected, err := res.RowsAffected()
if err != nil {
panic(err.Error())
}

在以上代碼中,我們使用db.Prepare()方法構造一個SQL語句,然后使用stmt.Exec()方法更新MySQL數據庫中的數據,“defer”語句用于關閉數據庫句柄。最后,我們使用res.RowsAffected()方法獲取更新數據的行數。

以上就是使用Go語言操作MySQL數據庫的一些基本操作方法,通過學習這些方法可以更好地掌握Go語言中操作MySQL數據庫的技能。