首頁 >資料庫 >mysql教程 >go語言如何查詢mysql數據

go語言如何查詢mysql數據

PHPz
PHPz轉載
2023-06-03 08:22:241116瀏覽

為了使用MySQL驅動程序,我們需要透過以下命令將其安裝到我們的Go專案中:

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

安裝完成後,我們需要將其匯入Golang專案中:

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

接著,我們需要建立與MySQL資料庫的連線。以下是範例程式碼,它將連接到名為“mydatabase”的資料庫:

db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/mydatabase")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

注意,在連接字串中,我們指定了MySQL伺服器的端口,預設為3306。

當我們成功建立與MySQL資料庫的連線後,便能夠開始進行資料查詢。以下是一個簡單的例子,它檢索名為「users」的表中所有使用者的記錄

rows, err := db.Query("SELECT * FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}

我們採用了db.Query函數來執行SQL查詢,如上例所示。該函數將傳回一個Rows對象,其中包含查詢結果的所有行。

接著,我們使用for迴圈遍歷所有行,使用rows.Scan函數逐行讀取列的值。最後,我們檢查任何查詢結果中的錯誤。

當然,我們也可以使用參數化查詢來更安全地查詢資料。參數化查詢可以防止SQL注入攻擊。這是一個使用參數化查詢檢索名為「john」的使用者記錄的範例程式碼片段:

rows, err := db.Query("SELECT * FROM users WHERE name = ?", "john")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}

在上述範例中,我們在查詢字串中使用了「?」佔位符,並在Query函數的參數中傳遞了希望匹配的值。

以上是go語言如何查詢mysql數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除