कुछ ड्राइवर उपलब्ध हैं, लेकिन आपको केवल उन लोगों पर विचार करना चाहिए जो डेटाबेस / sql API को लागू करते हैं
- यह एक स्वच्छ और कुशल वाक्यविन्यास प्रदान करता है,
- यह सुनिश्चित करता है कि आप बाद में आयात और कनेक्शन के अलावा अपना कोड बदले बिना ड्राइवर को बदल सकते हैं।
MySQL के लिए दो तेज़ और विश्वसनीय ड्राइवर उपलब्ध हैं:
मैंने उत्पादन में दोनों का उपयोग किया है, लाखों में कनेक्शन नंबर के साथ महीनों तक कार्यक्रम चल रहे हैं बिना किसी विफलता के।
अन्य SQL डेटाबेस ड्रायवर go-wiki पर सूचीबद्ध हैं ।
MyMySQL का उपयोग करते समय आयात करें:
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
Go-MySQL- ड्राइवर का उपयोग करते समय आयात करें:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
MyMySQL का उपयोग करके कनेक्ट करना और बंद करना:
con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
defer con.Close()
// here you can use the connection, it will be closed when function returns
Go-MySQL-Driver का उपयोग करके कनेक्ट करना और बंद करना:
con, err := sql.Open("mysql", store.user+":"+store.password+"@/"+store.database)
defer con.Close()
एक पंक्ति का चयन करें:
row := con.QueryRow("select mdpr, x, y, z from sometable where id=?", id)
cb := new(SomeThing)
err := row.Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
कई पंक्तियों का चयन करें और परिणामों के साथ एक सरणी बनाएँ:
rows, err := con.Query("select a, b from item where p1=? and p2=?", p1, p2)
if err != nil { /* error handling */}
items := make([]*SomeStruct, 0, 10)
var ida, idb uint
for rows.Next() {
err = rows.Scan(&ida, &idb)
if err != nil { /* error handling */}
items = append(items, &SomeStruct{ida, idb})
}
सम्मिलित करें:
_, err = con.Exec("insert into tbl (id, mdpr, isok) values (?, ?, 1)", id, mdpr)
आप देखेंगे कि MySQL के साथ Go में काम करना एक आनंदमय अनुभव है: मुझे कभी कोई समस्या नहीं हुई, मेरे सर्वर महीनों तक त्रुटियों या लीक के बिना चलते हैं। तथ्य यह है कि अधिकांश कार्य केवल एक तर्क संख्या को लेते हैं, एक कार्य को हल्का करता है जो कई भाषाओं में कठिन है।
ध्यान दें कि अगर, भविष्य में, आपको एक और MySQL ड्राइवर का उपयोग करने की आवश्यकता है, तो आपको बस एक ही फाइल में दो लाइनें बदलनी होंगी: आयात करने वाली लाइन और कनेक्शन को खोलने वाली लाइन।