CRUD संचालन
बनाएँ, पढ़ें, अपडेट करें और हटाएँ
CRUD संचालन, CoddyKit पर Go Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Go Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
GORM के साथ CRUD
GORM चार मूल संचालन, Create, पढ़ना, Update, Delete, को *gorm.DB पर विधि-कॉल में बदल देता है। आप संरचनाओं के पॉइंटर देते हैं और GORM SQL तैयार करता है।
Create
Create एक रिकॉर्ड डालता है। इसके चलने के बाद GORM डेटाबेस से संरचना की प्राथमिक कुंजी और समय-मुहरें भर देता है।
user := User{Name: "Ada", Email: "ada@example.com"}
result := db.Create(&user)
fmt.Println(user.ID, result.RowsAffected)First से पढ़ना
First प्राथमिक कुंजी के अनुसार क्रमबद्ध पहला मेल खाता रिकॉर्ड लाता है। परिणाम प्राप्त करने के लिए पॉइंटर दें; शर्तें अतिरिक्त तर्कों के रूप में दी जाती हैं।
var user User
db.First(&user, 1) // by primary key
db.First(&user, "email = ?", "ada@example.com")Find से कई रिकॉर्ड पढ़ना
Find कई पंक्तियों को एक स्लाइस में लोड करता है। शर्तों के बिना यह सभी पंक्तियाँ लौटाता है; Where के साथ यह परिणामों को फ़िल्टर करता है।
var users []User
db.Where("age > ?", 18).Find(&users)Update
Save किसी रिकॉर्ड के सभी फ़ील्ड अद्यतन करता है। Update और Updates विशिष्ट कॉलम बदलते हैं, जिससे उन फ़ील्ड के अनजाने में ओवरराइट होने से बचा जा सकता है जिन्हें आप बदलना नहीं चाहते थे।
db.Model(&user).Update("name", "Ada L.")
db.Model(&user).Updates(User{Name: "Ada", Age: 36})शून्य मान की समस्या
संरचना से अद्यतन करते समय GORM शून्य-मान वाले फ़ील्ड (0, false, "") को अनदेखा करता है। किसी कॉलम को शून्य मान पर अद्यतन करने के लिए संरचना के बजाय मानचित्र दें।
db.Model(&user).Updates(map[string]interface{}{"age": 0, "active": false})Delete
Delete एक रिकॉर्ड हटाता है। यदि मॉडल में DeletedAt फ़ील्ड है, तो यह सॉफ्ट डिलीट होता है और पंक्ति हटाने के बजाय समय-मुहर निर्धारित की जाती है।
db.Delete(&user, 1)चलाकर देखने योग्य CRUD का अनुकरण
GORM को वास्तविक डेटाबेस की आवश्यकता होती है, इसलिए यह चलाकर देखने योग्य उदाहरण जीवनचक्र दिखाने के लिए मेमोरी में रखे गए स्लाइस पर निर्माण, पठन, अद्यतन और विलोपन का मॉडल बनाता है।
package main
import "fmt"
type User struct {
ID int
Name string
}
func main() {
var users []User
next := 1
// Create
u := User{ID: next, Name: "Ada"}
users = append(users, u)
next++
// Read
fmt.Println("read:", users[0])
// Update
users[0].Name = "Ada L."
fmt.Println("updated:", users[0])
// Delete
users = users[:0]
fmt.Println("count after delete:", len(users))
}त्रुटियों की जाँच
हर GORM कॉल एक *gorm.DB लौटाती है, जिसका Error फ़ील्ड किसी भी विफलता को रखता है। कोई रिकॉर्ड न मिलने पर First में gorm.ErrRecordNotFound प्राप्त होता है।
if err := db.First(&user, 99).Error; err == gorm.ErrRecordNotFound {
fmt.Println("no such user")
}विधियों की श्रृंखला
GORM श्रृंखला में जोड़े जा सकने वाले बिल्डर का उपयोग करता है: db.Where(...).Order(...).Limit(...).Find(&users)। प्रत्येक विधि क्वेरी को और सीमित करती है और अंतिम विधि (Find, First) उसे निष्पादित करती है।
बैच में डालना
एक ही कथन में कई पंक्तियाँ डालने के लिए Create को एक स्लाइस दें। CreateInBatches बहुत बड़े स्लाइस को छोटे भागों में बाँटता है, ताकि सीमाओं के भीतर रहा जा सके।
db.Create(&[]User{{Name: "A"}, {Name: "B"}})त्वरित जाँच
CRUD से संबंधित अपनी जानकारी जाँचें।
पुनरावलोकन
आपने CRUD संचालन के बारे में सीखा:
- Create रिकॉर्ड डालता है और प्राथमिक कुंजी भर देता है
- First और Find एक या कई पंक्तियाँ पढ़ते हैं
- Save, Update और Updates बदलाव करते हैं; मानचित्र शून्य मानों को भी लागू करते हैं
- DeletedAt मौजूद होने पर Delete सॉफ्ट डिलीट करता है
- Error फ़ील्ड जाँचें; जटिल क्वेरी के लिए विधियों की श्रृंखला बनाएँ
एआई शिक्षक के साथ Go सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “CRUD संचालन” पाठ निःशुल्क है?
हाँ — Go Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “CRUD संचालन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Go Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“CRUD संचालन” में मैं क्या सीखूँगा?
बनाएँ, पढ़ें, अपडेट करें और हटाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Go Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Go Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Go Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“CRUD संचालन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Go Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Go Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- मॉडल और AutoMigrate
- CRUD संचालन
- संबंध
- Hooks और Scopes