為了使用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中文網其他相關文章!