Go Academy · Ders

CRUD İşlemleri

Oluşturun, okuyun, güncelleyin ve silin

2. ders / 413 adım

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
Başlamak ücretsiz

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.

Bu kursun tüm dersleri

  1. Modeller ve AutoMigrate
  2. CRUD İşlemleri
  3. İlişkilendirmeler
  4. Kancalar ve Kapsamlar
← Go Academy Sayfasına Dön