कुछ ड्राइवर उपलब्ध हैं लेकिन आपको केवल उन पर विचार करना चाहिए जो database/sql को लागू करते हैं। एपीआई के रूप में
- यह एक साफ और कुशल सिंटैक्स प्रदान करता है,
- यह सुनिश्चित करता है कि आप बाद में आयात और कनेक्शन के अलावा अपना कोड बदले बिना ड्राइवर बदल सकते हैं।
MySQL के लिए दो तेज़ और विश्वसनीय ड्राइवर उपलब्ध हैं:
मैंने उत्पादन में दोनों का उपयोग किया है, बिना असफलता के लाखों में कनेक्शन संख्या के साथ कार्यक्रम महीनों से चल रहे हैं।
अन्य SQL डेटाबेस ड्राइवर go-wiki पर सूचीबद्ध हैं ।
MyMySQL का उपयोग करते समय आयात करें:
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
Go-MySQL-Driver का उपयोग करते समय आयात करें:
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 के साथ काम करना एक सुखद अनुभव है :मैं कभी नहीं एक समस्या थी, मेरे सर्वर बिना किसी त्रुटि या लीक के महीनों तक चलते हैं। तथ्य यह है कि अधिकांश फ़ंक्शन केवल तर्कों की एक चर संख्या लेते हैं, एक कार्य को हल्का करते हैं जो कई भाषाओं में थकाऊ होता है।
ध्यान दें कि यदि, भविष्य में, आपको किसी अन्य MySQL ड्राइवर का उपयोग करने की आवश्यकता है, तो आपको केवल एक बार फ़ाइल में दो पंक्तियों को बदलना होगा:आयात करने वाली रेखा और कनेक्शन खोलने वाली रेखा।