खोज…
टिप्पणियों
SQL डेटाबेस ड्रायवरों की सूची के लिए आधिकारिक गो विकि लेख SQLDrivers देखें ।
SQL ड्राइवर _
द्वारा आयात और प्रीफ़िक्स किए जाते हैं, ताकि वे केवल ड्राइवर के लिए उपलब्ध हों।
क्वेरी
यह उदाहरण दिखा रहा है कि database/sql
साथ database/sql
को क्वेरी कैसे करें, उदाहरण के लिए MySql डेटाबेस।
package main
import (
"log"
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
dsn := "mysql_username:CHANGEME@tcp(localhost:3306)/dbname"
db, err := sql.Open("mysql", dsn)
if err != nil {
log.Fatal(err)
}
defer sql.Close()
rows, err := db.Query("select id, first_name from user limit 10")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var username string
if err := rows.Scan(&id, &username); err != nil {
log.Fatal(err)
}
fmt.Printf("%d-%s\n", id, username)
}
}
माई एसक्यूएल
MySQL को इनेबल करने के लिए एक डेटाबेस ड्राइवर की जरूरत होती है। उदाहरण के लिए github.com/go-sql-driver/mysql ।
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
एक डेटाबेस खोलना
एक डेटाबेस खोलना डेटाबेस विशिष्ट है, यहाँ कुछ डेटाबेस के लिए उदाहरण हैं।
सकलाइट ३
file := "path/to/file"
db_, err := sql.Open("sqlite3", file)
if err != nil {
panic(err)
}
माई एसक्यूएल
dsn := "mysql_username:CHANGEME@tcp(localhost:3306)/dbname"
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err)
}
MongoDB: कनेक्ट करें और डालें और निकालें और अपडेट करें और क्वेरी करें
package main import ( "fmt" "time" log "github.com/Sirupsen/logrus" mgo "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) var mongoConn *mgo.Session type MongoDB_Conn struct { Host string `json:"Host"` Port string `json:"Port"` User string `json:"User"` Pass string `json:"Pass"` DB string `json:"DB"` } func MongoConn(mdb MongoDB_Conn) (*mgo.Session, string, error) { if mongoConn != nil { if mongoConn.Ping() == nil { return mongoConn, nil } } user := mdb.User pass := mdb.Pass host := mdb.Host port := mdb.Port db := mdb.DB if host == "" || port == "" || db == "" { log.Fatal("Host or port or db is nil") } url := fmt.Sprintf("mongodb://%s:%s@%s:%s/%s", user, pass, host, port, db) if user == "" { url = fmt.Sprintf("mongodb://%s:%s/%s", host, port, db) } mongo, err := mgo.DialWithTimeout(url, 3*time.Second) if err != nil { log.Errorf("Mongo Conn Error: [%v], Mongo ConnUrl: [%v]", err, url) errTextReturn := fmt.Sprintf("Mongo Conn Error: [%v]", err) return &mgo.Session{}, errors.New(errTextReturn) } mongoConn = mongo return mongoConn, nil } func MongoInsert(dbName, C string, data interface{}) error { mongo, err := MongoConn() if err != nil { log.Error(err) return err } db := mongo.DB(dbName) collection := db.C(C) err = collection.Insert(data) if err != nil { return err } return nil } func MongoRemove(dbName, C string, selector bson.M) error { mongo, err := MongoConn() if err != nil { log.Error(err) return err } db := mongo.DB(dbName) collection := db.C(C) err = collection.Remove(selector) if err != nil { return err } return nil } func MongoFind(dbName, C string, query, selector bson.M) ([]interface{}, error) { mongo, err := MongoConn() if err != nil { return nil, err } db := mongo.DB(dbName) collection := db.C(C) result := make([]interface{}, 0) err = collection.Find(query).Select(selector).All(&result) return result, err } func MongoUpdate(dbName, C string, selector bson.M, update interface{}) error { mongo, err := MongoConn() if err != nil { log.Error(err) return err } db := mongo.DB(dbName) collection := db.C(C) err = collection.Update(selector, update) if err != nil { return err } return nil }
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow