Tüm Ürünler
Search
Belge Merkezi

AnalyticDB:UPDATE

Son Güncelleme:Oct 05, 2026

AnalyticDB for MySQL içinde tek bir tablodaki verileri değiştirmek veya birden çok tabloyu birleştirerek güncellemek için UPDATE ifadesini kullanın.

Sınırlamalar

  • Hedef tablonun bir birincil anahtarı olmalıdır.

  • Birincil anahtar sütunları güncellenemez.

  • ORDER BY ve LIMIT yan tümceleri yalnızca tek tablo güncellemelerinde desteklenir.

  • Çoklu tablo güncellemeleri en fazla iki tablonun birleştirilmesini destekler.

  • Her UPDATE ifadesi yalnızca bir tabloyu hedef alabilir. Değiştirilecek tablo ifadede ilk sırada yer almalıdır.

  • Çoklu tablo UPDATE işlemi AnalyticDB for MySQL V3.1.6.4 veya sonraki sürümlerini gerektirir. Küme sürümünüzü kontrol etmek veya yükseltmek için AnalyticDB for MySQL konsoluna gidin, Cluster Information sayfasındaki Configuration Information bölümüne bakın. Alt sürümü güncelleme talimatları için bkz. Kümenin alt sürümünü güncelleme.

Tek bir tabloyu güncelleme

Söz dizimi

UPDATE table_name
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT ...]

Kimliğe göre bir satırı güncelleme

2369 kimlikli müşterinin adını Claire olarak değiştirin:

UPDATE customer
SET customer_name = 'Claire'
WHERE customer_id = '2369';

Güncellemeyi doğrulamak için:

SELECT customer_id, customer_name
FROM customer
WHERE customer_id = '2369';

Birden çok tabloyu güncelleme

İkinci bir tablodan değerleri okumak ve bunları ilk tabloya yazmak için bir JOIN yan tümcesi kullanın.

Söz dizimi

UPDATE table_name1
[INNER JOIN | LEFT JOIN] table_name2 ON table_name1.column = table_name2.column
SET assignment_list
[WHERE where_condition]
Güncellenecek tabloyu UPDATE ifadesinde ilk sıraya yerleştirin.

LEFT JOIN kullanarak bir sütunu güncelleme

new_customer tablosundaki eşleşen kaydı kullanarak 2369 kimlikli müşterinin yaşını değiştirin:

UPDATE customer
    LEFT JOIN new_customer ON customer.customer_id = new_customer.customer_id
SET customer.customer_age = 42
WHERE new_customer.customer_id = '2369';

Güncellemeyi doğrulamak için:

SELECT customer_id, customer_age
FROM customer
WHERE customer_id = '2369';

INNER JOIN kullanarak bir sütunu güncelleme

Eşleşen customer_id değerine dayanarak customer_name sütununu new_customer tablosundan customer tablosuna kopyalayın:

UPDATE customer
    INNER JOIN new_customer ON customer.customer_id = new_customer.customer_id
SET customer.customer_name = new_customer.customer_name;

customer ve new_customer tabloları arasında müşteri adı eşleşen tüm satırlar için customer_id değerini 2369 olarak ayarlayın:

UPDATE customer
    INNER JOIN new_customer ON customer.customer_name = new_customer.customer_name
SET customer.customer_id = '2369';

Bir sütunu sabit bir değere ayarlama

Müşteri adı new_customer tablosundaki bir satırla eşleşen customer tablosundaki tüm satırlar için customer_id değerini 1 olarak ayarlayın:

UPDATE customer
    LEFT JOIN new_customer ON customer.customer_name = new_customer.customer_name
SET customer.customer_id = '1';

Kullanım notları

INSERT ON DUPLICATE KEY UPDATE ile yüksek frekanslı güncellemeler

INSERT ON DUPLICATE KEY UPDATE işlemini saniyede 100'den fazla sorgu (QPS) hızında veya büyük veri hacimlerinde çalıştırmak CPU kullanımını önemli ölçüde artırabilir. Yüksek aktarım hızlı upsert iş yükleri için bunun yerine REPLACE INTO kullanın. Daha fazla bilgi için bkz. REPLACE INTO.