Dengan penggunaan meluas aplikasi peringkat perusahaan, SQL Server juga telah menjadi salah satu pangkalan data yang paling banyak digunakan dalam aplikasi peringkat perusahaan. Selain itu, dengan populariti bahasa Go, semakin ramai pembangun berharap untuk menggunakan SQL Server dalam bahasa Go. Dalam artikel ini, kami akan memperkenalkan cara menggunakan SQL Server dalam bahasa Go, yang melibatkan panduan lengkap untuk menyambung, bertanya, membaca dan menulis data, dsb.
Sambung ke pangkalan data SQL Server
Untuk menyambung ke pangkalan data SQL Server, kita perlu menggunakan pemacu SQL Server yang disediakan oleh Microsoft (iaitu mssql). Pemacu ini sangat mudah digunakan, jadi mari kita pasang.
Pasang Pemacu Pelayan SQL
Untuk memasang pemacu mssql, kita perlu menjalankan arahan berikut dalam terminal:
go get github.com/denisenkom/go-mssqldb
Arahan ini akan memuat turun dan memasang pemacu mssql.
Sambung ke pangkalan data
Setelah pemacu dipasang, kami boleh menyambung ke pangkalan data SQL Server. Sambungan memerlukan kami memberikan alamat pelayan pangkalan data, nama pangkalan data, nama pengguna dan kata laluan. Berikut ialah contoh asas sambungan:
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.") }
Dalam contoh ini, kami menentukan alamat pelayan pangkalan data sebagai "localhostSQLEXPRESS", port sebagai 1433, nama pengguna sebagai sa, kata laluan sebagai kata laluan123, dan nama data sebagai MyDatabase. Rentetan sambungan diformatkan dalam format "Rentetan sambungan contoh saya". Kami menggunakan rentetan ini untuk membuka sambungan dan memberikan mesej ringkas sebagai pengesahan selepas sambungan berjaya.
Mencari data
Setelah sambungan berjaya, kita boleh mula menggunakan arahan SQL untuk menanyakan data daripada pangkalan data. Kita boleh menggunakan db.Query() untuk melaksanakan pernyataan pertanyaan dan rows.Scan() untuk mengimbas setiap baris data dalam hasil pertanyaan. Berikut ialah contoh pertanyaan asas:
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) } }
Dalam contoh ini, kami menanyakan jadual bernama "Pelanggan", yang terletak dalam pangkalan data MyDatabase. Kami hanya memilih baris dengan lajur bernama "Nama" dan "E-mel" di mana "Negara" disenaraikan sebagai "AS".
Apabila kami melaksanakan pertanyaan, keputusan akan disimpan dalam pembolehubah pertanyaan. Kami kemudian menggunakan db.Query() untuk melaksanakan pertanyaan. Ia mengembalikan set hasil, yang kami imbas menggunakan rows.Scan(). Akhir sekali, kami mengulangi hasil yang dikembalikan dan mencetak data untuk setiap baris.
Menulis data
Apabila menggunakan SQL Server dalam bahasa Go, menulis data baharu sangat serupa dengan membaca data. Untuk menulis data, kami hanya laksanakan pernyataan INSERT, UPDATE atau DELETE menggunakan db.Exec(). Berikut ialah contoh penulisan asas:
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) }
Dalam contoh ini, kami melaksanakan pernyataan INSERT untuk memasukkan baris data ke dalam jadual bernama "Pelanggan". Kami menyatakan nama "John Doe", alamat e-mel "johndoe@example.com", dan negara "USA". Kami menggunakan db.Exec() untuk menulis data dan fmt.Printf() untuk mencetak keputusan.
Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan SQL Server dalam bahasa Go. Kami belajar cara menyambung ke pangkalan data, melaksanakan pertanyaan dan menulis data. Kami juga telah melihat bahawa proses menggunakan SQL Server dengan bahasa Go adalah sangat mudah, SQL Server telah menjadi salah satu penyelesaian penyimpanan data pilihan untuk aplikasi peringkat perusahaan. Jika anda seorang pembangun Go dan anda ingin menggunakan SQL Server dalam projek anda yang seterusnya, artikel ini akan memberikan anda panduan yang sangat berguna.
Atas ialah kandungan terperinci Menggunakan Pelayan SQL dalam Go: Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!