CRUD İşlemleri
Oluşturun, okuyun, güncelleyin ve silin
CRUD İşlemleri, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
GORM ile CRUD
GORM, dört temel işlemi, Create, Okuma, Update, Delete, *gorm.DB üzerindeki yöntem çağrılarına dönüştürür. Yapılara işaretçiler geçirirsiniz ve GORM SQL'i oluşturur.
Create
Create bir kayıt ekler. Çalıştıktan sonra GORM, yapının birincil anahtarını ve zaman damgalarını veritabanından alarak doldurur.
user := User{Name: "Ada", Email: "ada@example.com"}
result := db.Create(&user)
fmt.Println(user.ID, result.RowsAffected)First ile Okuma
First, birincil anahtara göre sıralanmış ilk eşleşen kaydı getirir. Sonucu almak için bir işaretçi geçirin; koşulları ek bağımsız değişkenler olarak belirtin.
var user User
db.First(&user, 1) // by primary key
db.First(&user, "email = ?", "ada@example.com")Find ile Birden Çok Kayıt Okuma
Find, birden çok satırı bir dilime yükler. Koşul verilmezse tüm satırları döndürür; Where ile filtreler.
var users []User
db.Where("age > ?", 18).Find(&users)Update
Save bir kaydın tüm alanlarını günceller. Update ve Updates belirli sütunları değiştirerek amaçlamadığınız alanların üzerine yazılmasını önler.
db.Model(&user).Update("name", "Ada L.")
db.Model(&user).Updates(User{Name: "Ada", Age: 36})Sıfır Değer Sürprizi
Bir yapıyla güncelleme yaparken GORM, sıfır değerli alanları (0, false, "") yok sayar. Bir sütunu sıfır değere güncellemek için yapı yerine bir eşleme geçirin.
db.Model(&user).Updates(map[string]interface{}{"age": 0, "active": false})Delete
Delete bir kaydı kaldırır. Modelde DeletedAt alanı varsa bu işlem mantıksal silme olur; satırı kaldırmak yerine zaman damgasını ayarlar.
db.Delete(&user, 1)Çalıştırılabilir CRUD Benzetimi
GORM gerçek bir veritabanına ihtiyaç duyar; bu nedenle çalıştırılabilir örnek, yaşam döngüsünü göstermek için bellek içi bir dilim üzerinde oluşturma, okuma, güncelleme ve silme işlemlerini modeller.
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))
}Hataları Denetleme
Her GORM çağrısı, Error alanında varsa hatayı tutan bir *gorm.DB döndürür. Eksik bir kayıt, First üzerinde gorm.ErrRecordNotFound döndürür.
if err := db.First(&user, 99).Error; err == gorm.ErrRecordNotFound {
fmt.Println("no such user")
}Yöntem Zincirleme
GORM zincirlenebilir bir oluşturucu kullanır: db.Where(...).Order(...).Limit(...).Find(&users). Her yöntem sorguyu daraltır ve son yöntem (Find, First) sorguyu yürütür.
Toplu Ekleme
Tek bir ifadede çok sayıda satır eklemek için Create yöntemine bir dilim geçirin. CreateInBatches, sınırlar içinde kalmak için çok büyük dilimleri parçalara böler.
db.Create(&[]User{{Name: "A"}, {Name: "B"}})Hızlı Kontrol
CRUD hakkındaki bilginizi sınayın.
Özet
CRUD işlemlerini öğrendiniz:
- Create ekler ve birincil anahtarı sonradan doldurur
- First ve Find tek ve birden çok satırı okur
- Kaydetme işlemi, Update ve Updates değişiklik yapar; eşlemeler sıfır değerleri zorlar
- DeletedAt varsa Delete mantıksal silme yapar
- Hata alanını denetleyin; karmaşık sorgular için yöntemleri zincirleyin
Yapay zeka eğitmeniyle Go öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 51
- Dersler
- 203
Sıkça Sorulan Sorular
“CRUD İşlemleri” dersi ücretsiz mi?
Evet — “CRUD İşlemleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“CRUD İşlemleri” dersinde ne öğreneceğim?
Oluşturun, okuyun, güncelleyin ve silin Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“CRUD İşlemleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.