隨著企業級應用程式應用的廣泛使用,SQL Server也成為了企業級應用程式中使用最廣泛的資料庫之一。而且,隨著Go語言的流行,越來越多的開發人員希望在Go語言中使用SQL Server。在本文中,我們將介紹如何在Go語言中使用SQL Server,涉及連接、查詢、讀取和寫入資料等方面的完整指南。
連線到SQL Server資料庫
要連線到SQL Server資料庫,我們需要使用到 Microsoft提供的SQL Server驅動程式(即mssql)。這個驅動程式非常容易使用,因此讓我們進行安裝。
安裝SQL Server驅動程式
要安裝mssql驅動程序,我們需要在終端機中執行以下命令:
go get github.com/denisenkom/go-mssqldb
這個命令將下載並安裝mssql驅動程式。
連接到資料庫
一旦驅動程式安裝完成,我們就可以連接到SQL Server資料庫了。連線需要我們提供資料庫的伺服器位址、資料庫名稱、使用者名稱和密碼。以下是一個連線的基本範例:
package main import ( "database/sql" "fmt" _ "github.com/denisenkom/go-mssqldb" ) func main() { server := "localhost\SQLEXPRESS" port := 1433 user := "sa" password := "password123" database := "MyDatabase" connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;", server, user, password, port, database) db, err := sql.Open("mssql", connString) if err != nil { panic(err) } defer db.Close() // Connection successful. We can now start working with the database. fmt.Println("Connection successful.") }
在這個範例中,我們指定了資料庫的伺服器位址為“localhostSQLEXPRESS”,連接埠為1433,使用者名稱為sa,密碼為password123,資料名稱為MyDatabase。連接字串被格式化為“My example connection string” format。我們使用該字串打開連接,並在連接成功之後提供了一個簡單的訊息作為確認。
查詢資料
一旦連線成功,我們就可以開始使用SQL指令從資料庫中查詢資料了。我們可以使用 db.Query() 來執行查詢語句,並使用 rows.Scan() 來掃描查詢結果中的每行資料。以下是一個基本的查詢範例:
func main() { server := "localhost\SQLEXPRESS" port := 1433 user := "sa" password := "password123" database := "MyDatabase" connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;", server, user, password, port, database) db, err := sql.Open("mssql", connString) if err != nil { panic(err) } defer db.Close() // Query the database. query := "SELECT Name, Email FROM Customers WHERE Country = 'USA'" rows, err := db.Query(query) if err != nil { panic(err) } defer rows.Close() // Scan the results. for rows.Next() { var name string var email string err = rows.Scan(&name, &email) if err != nil { panic(err) } fmt.Println(name, email) } }
在這個範例中,我們查詢了名為「Customers 」的表,該表位於MyDatabase資料庫中。我們只選擇了名為“Name”和“Email”的列,其中“Country”列為“USA”的行。
當我們執行查詢時,結果將會儲存在 query 變數中。然後,我們使用 db.Query() 執行查詢。它會傳回一個結果集,我們使用 rows.Scan() 掃描該結果集。最後,我們循環遍歷回傳的結果,列印每一行的資料。
寫入資料
在使用Go語言中的SQL Server時,寫入新資料與讀取資料非常相似。要寫入數據,我們只需使用 db.Exec() 執行 INSERT、UPDATE 或 DELETE 語句。下面是一個基本的寫入範例:
func main() { server := "localhost\SQLEXPRESS" port := 1433 user := "sa" password := "password123" database := "MyDatabase" connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;", server, user, password, port, database) db, err := sql.Open("mssql", connString) if err != nil { panic(err) } defer db.Close() // Insert a new row. statement := "INSERT INTO Customers (Name, Email, Country) VALUES (?, ?, ?)" result, err := db.Exec(statement, "John Doe", "johndoe@example.com", "USA") if err != nil { panic(err) } rowsAffected, err := result.RowsAffected() if err != nil { panic(err) } // Write successful. Display the number of rows affected. fmt.Printf("%d rows affected. ", rowsAffected) }
在這個範例中,我們執行了一個INSERT語句向名為「Customers」的表中插入一行資料。我們指定了「John Doe」的名稱,「johndoe@example.com」的電子郵件地址,以及「USA」的國家。我們使用 db.Exec() 來寫入數據,並使用 fmt.Printf() 列印結果。
總結
在這篇文章中,我們介紹如何在Go語言中使用SQL Server。我們了解如何連接到資料庫,執行查詢和寫入資料。我們也看到,Go語言使用SQL Server的過程非常簡單,因此,SQL Server成為了企業級應用程式的首選資料儲存解決方案之一。如果你是Go語言開發人員,並且你想在你的下一個專案中使用SQL Server,本文將為你提供非常有用的指南。
以上是在Go語言中使用SQL Server:完整指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!