Ana içeriğe atla

SQL'de Birden Fazla Sütun Nasıl Güncellenir

Tek bir sorguyla SQL'de birden fazla sütunu daha verimli şekilde nasıl güncelleyeceğinizi öğrenin. Tek satır ve çoklu satır güncellemeleri dahil olmak üzere pratik gelişmiş teknikleri ve örnekleri keşfedin.
Güncel 3 Eki 2026  · 8 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Veritabanlarıyla çalışırken verimlilik esastır ve SQL'de aynı anda birden fazla sütunu güncellemeyi bilmek önemli bir beceridir. Bir veri analisti olarak SQL'de birden fazla sütunu nasıl güncelleyeceğinizi anlamak, üretkenliğinizi artırabilir ve hataları önleyebilir. Bu makale, en iyi uygulamaları göstermek için sözdizimi, teknikler ve örnekler eşliğinde SQL kullanarak birden fazla sütunun nasıl güncelleneceğini ele alacaktır.

Birden fazla sütunu UPDATE ifadesiyle nasıl güncelleyeceğinizi ve verileri etkili bir şekilde yönetmek için join'ler, koşullar ve performans hususlarını nasıl ele alacağınızı öğreneceksiniz. Başlarken, veritabanlarını sorgulamada SQL'in temellerini öğrenmek için DataCamp’in Introduction to SQL ve Learn SQL kurslarını takip etmenizi öneririm. 

SQL'de Birden Fazla Sütunu Güncellemenin Temellerini Anlamak

SQL'deki UPDATE ifadesi, bir veritabanındaki verileri değiştirmek için kullanılır. Temel işlevi, bir tablodaki bir veya daha fazla sütundaki değerleri güncelleyerek mevcut kayıtları değiştirmektir. UPDATE, tek bir ifadeyle birden fazla sütunun güncellenmesine olanak tanıdığı için etkilidir. Aşağıda UPDATE ifadesinin sözdizimi yer almaktadır.

-- Update specific columns in a table
UPDATE table_name
SET column1 = value1,
    column2 = value2,
    column3 = value3
WHERE condition;
  • table_name: Verileri güncellemek istediğiniz tablo.

  • column1, column2, column3: Güncellenen sütunlar.

  • value1, value2, value3: İlgili sütunlar için yeni değerler.

  • condition: Hangi satırların güncelleneceğini belirleyen ölçütler.

Birden fazla sütunu güncellemek için UPDATE ifadesini kullanmak etkilidir çünkü veritabanı motoru işlemi daha hızlı işler ve daha az kaynak tüketir. Yöntem ayrıca basittir çünkü kodu anlamak ve bakımını yapmak kolaydır.

SQL'de Birden Fazla Sütunun Güncellenmesine Örnekler

SQL'de tek bir kayıt için veya tablodaki birden fazla satır için birden fazla sütunu güncelleyebilirsiniz. Her ikisine de bakalım:

Tek satır güncelleme

Tek bir kayda ait birden fazla sütunun değerlerini değiştirdiğimizde tek satır güncelleme kullanırız. Belirli bir tablo girdisinin değerlerini değiştirirken bu yöntem oldukça basittir.

Aşağıdaki sorgu, employee_id = 101 olan tek bir satır için employees tablosundaki salary ve department sütunlarını günceller.

-- Updating salary and department columns
UPDATE employees
SET salary = 75000,        
    department = 'HR' 
-- Condition to target the specific row
WHERE employee_id = 101;

Birden çok satır güncelleme

Toplu güncellemeler, birden çok kayıtta birden fazla sütunu güncellemeniz gereken durumlar için gereklidir. Birden çok satır güncellemeleri, birden fazla satırı etkileyen belirli koşullara göre kayıtlar güncellendiğinde gerçekleşir.

Diyelim ki Sales departmanında terfi eden birden fazla çalışanın salary ve position değerlerini güncellemek istiyorsunuz. Aşağıdaki sorguyu kullanabilirsiniz:

-- Update multiple columns 
UPDATE employees
-- Increase the salary by $5000 for each 
SET salary = salary + 5000, 
    position = 'Senior Sales Associate' 
WHERE department = 'Sales' 
  AND years_of_experience > 5;

SQL'de Birden Fazla Sütunu Güncellemek İçin Gelişmiş Teknikler

Bazı durumlarda, özellikle null değerleri ele alırken, koşullu mantık uygularken veya başka tablolardaki verilere göre güncelleme yaparken SQL'de birden fazla sütunu güncellemek daha gelişmiş teknikler gerektirir. 

Bir sütunun değeri başka bir sütuna bağlı olduğunda

Aynı tablodaki başka bir sütuna dayanarak bir sütunu güncellemek isteyebiliriz. Burada sütunu güncellemek için ifadelerle temel mantık kullanacağız.

Örneğin, aşağıdaki sorgu belirli çalışanlar için bonus sütununu salary sütununun bir yüzdesi olarak hesaplar.

-- Update bonus as 10% of the salary
UPDATE employees
SET bonus = salary * 0.10 
-- Only apply the update to Sales department
WHERE department = 'Sales'; 

NULL yönetimi için COALESCE kullanarak birden fazla sütunu güncelleme

COALESCE işlevi, birden fazla sütun güncellenirken null değerleri etkili biçimde yönetebilir. Bu, null değerlerin uygun varsayılanlarla değiştirilmesini sağlayarak veri bütünlüğünü korur.

Aşağıdaki sorgu salary ve department sütunlarını verilen değerle günceller. Sütun NULL içeriyorsa, varsayılan bir değerle değiştirilir.

UPDATE employees
-- If salary is NULL, set it to 50,000
SET salary = COALESCE(salary, 50000), 
-- If department is NULL, set it to 'IT'
    department = COALESCE(department, 'IT') 
-- Apply update to specific employee IDs
WHERE employee_id IN (102, 103, 104); 

CASE ifadeleriyle birden fazla sütun ve koşullu güncellemeler

CASE ifadesi, belirli kriterlere göre sütunları koşullu olarak güncellemek için kullanılabilir. Bu, hangi değerlerin hangi koşullarda güncelleneceği üzerinde daha ayrıntılı kontrol sağlar ve SQL güncellemelerine esneklik katar.

Örneğin, burada gösterdiğim gibi çalışanların performance_rating değerine göre bonus ve position değerlerini güncellemek isteyebilirsiniz:

-- Update bonus and position department
UPDATE employees
SET bonus = CASE 
                WHEN performance_rating = 'A' THEN salary * 0.15 
                WHEN performance_rating = 'B' THEN salary * 0.10 
                ELSE salary * 0.05
            END,
    position = CASE 
                  WHEN performance_rating = 'A' THEN 'Team Lead' 
                  WHEN performance_rating = 'B' THEN 'Senior'
                  ELSE position
              END
-- Apply update only to employees in the Sales department
WHERE department = 'Sales';

Tabloları birleştirirken birden fazla sütunu güncelleme

İlişkili bir tablodan gelen verilere dayanarak birden fazla sütunu güncellemek için UPDATE ifadesi içinde JOIN de kullanabilirsiniz.

Diyelim ki employees ve departments adlı iki tablonuz var. employees tablosunu departments tablosundaki departman adları ve konumlarıyla güncellemek istiyorsunuz.

-- Update department name and location from departments table
UPDATE employees e
JOIN departments d ON e.department_id = d.department_id
SET e.department_name = d.department_name,
    e.location = d.location
WHERE e.department_id IN (1, 2, 3);

Veritabanı tasarımı ve tabloları birleştirme hakkında daha fazla bilgi edinmek için SQL Fundamentals beceri yolumuzu ve Database Design kursumuzu denemenizi öneririm. Ayrıca çapraz tablo güncellemelerini öğrenmek için SQL UPDATE with JOIN: How it Works eğitimine göz atın.

Performans Optimizasyonu ve İşlem (Transaction) Yönetimi

Özellikle büyük veri kümeleri için, birden fazla sütunla ilgili SQL güncellemelerinde performans optimizasyonu önemlidir. Veri tutarlılığını ve veritabanı optimizasyonunu sağlamak için aşağıdaki en iyi uygulamaları dikkate alın.

  • Verimlilik ve Atomiklik: Birden fazla sütunu tek bir sorguda güncellemek, veritabanı motorunun işlemesi gereken işlem sayısını azaltarak veritabanı performansını artırır. Bu, verimliliği ve aynı zamanda atomikliği iyileştirir; yani tüm güncellemeler birlikte başarılı olur ya da hiçbiri uygulanmaz ve veri tutarlılığı korunur.
  • Güvenlik için İşlemleri Kullanma: İşlemler, bir sorun çıkarsa değişiklikleri geri alarak verileri korumanıza olanak tanır; böylece kısmi güncellemeler veritabanını riske atmaz. İşlemler ayrıca çok kullanıcılı ortamlarda toplu güncellemeleri daha güvenilir hale getirir ve veri çakışmaları riskini azaltır.

Yaygın Tuzaklar ve Hatalar

Birden çok sütunlu güncellemelerle uğraşırken hatalara yol açabilecek bazı yaygın tuzaklar ve hatalar vardır. Bazı örneklere ve bunlardan nasıl kaçınılacağına bakalım.

  • WHERE Klozunu Unutmak: UPDATE ifadesinde WHERE klozunu eklemeyi unutmak, verilerdeki tüm satırların istenmeyen şekilde güncellenmesine neden olabilir. Bunu önlemek için, WHERE klozunun güncellemek istediğiniz sütunları işaret edecek şekilde doğru tanımlandığından her zaman emin olun.

  • Veri Türü Uyumsuzlukları: Veri türleri arasındaki uyumsuzluklar hatalara yol açabilir veya yanlış veri depolanmasına neden olabilir. UPDATE sorgunuzda kullanılan değerlerin veri türlerinin, güncelledikleri sütunlarla eşleştiğini her zaman doğrulayın.

Veri türleri ve WHERE kullanarak veri filtreleme hakkında daha fazla bilgi edinmek istiyorsanız, DataCamp’in Intermediate SQL kursunu öneririm.

Sonuç

SQL'de birden fazla sütunu nasıl güncelleyeceğinizi anlamak, veritabanı verimliliği ve doğruluğu için önemlidir. Bunu okuduktan sonra, aynı anda birden fazla sütunu güncellemenin gerekli bir beceri olduğunu ve kestirme yollara başvurmamanız gerektiğini; aksi halde kısmi işlemlere veya tutarsız durumlara yol açabileceğini umarım görmüşsünüzdür.

Kariyer yönünüze bağlı olarak, bir veri analisti olmak için gereken sektör düzeyindeki becerileri öğrenmek üzere DataCamp’in Associate Data Analyst in SQL kariyer yoluna kaydolmanızı veya veri mühendisi olmak istiyorsanız Associate Date Engineer in SQL kariyer yolumuzu denemenizi öneririm. Her iki durumda da, işverenlere SQL'i iş sorunlarını çözmek için kullanmadaki ustalığınızı göstermek için etkileyici bir yol olan SQL Associate Certification belgesini almayı da denemenizi öneririm.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

SQL SSS

Tek bir sorguda SQL'de birden fazla sütunu güncelleyebilir miyim?

Evet, tek bir UPDATE ifadesinde aynı anda birden fazla sütunu güncelleyebilir, böylece verimliliği ve doğruluğu artırabilirsiniz.

Farklı satırlar için farklı değerlerle birden fazla sütunu güncelleyebilir miyim?

Evet, WHERE klozundaki koşulları kullanarak veya CASE ifadesi içinde mantık uygulayarak farklı satırlar için farklı değerlerle güncelleyebilirsiniz.

Birden fazla sütunu güncellerken WHERE klozunu unutursam ne olur?

Eğer WHERE klozunu atlıyorsanız, güncelleme tablodaki tüm satırlara uygulanır ve bu da istenmeyen veri değişikliklerine yol açabilir.

Birden fazla sütunu güncellerken NULL değerleri nasıl ele alırım?

Güncelleme yaparken varsayılan değerler sağlayarak NULL değerleri ele almak için COALESCE işlevini kullanabilirsiniz.

Başka bir tablodaki verileri kullanarak sütunları güncelleyebilir miyim?

Başka bir tablodan gelen ilişkili verilere dayanarak sütunları güncellemenize olanak tanıyan join'lerle güncellemeler gerçekleştirebilirsiniz.

Konular
SQL
Veri Mühendisliği

DataCamp ile SQL Öğrenin

Kurs

SQL ile İlişkisel Veritabanlarına Giriş

4 sa
200.3K
Verileri depolamanın en verimli yollarından biri olan ilişkisel veritabanlarını oluşturmayı öğrenin!
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör