Anda dapat mengeksekusi pernyataan UPDATE untuk memperbarui data dari satu tabel atau beberapa tabel di AnalyticDB for MySQL.
Catatan penggunaan
Tabel tempat Anda mengeksekusi pernyataan
UPDATEharus memiliki kunci utama.Anda tidak dapat memperbarui data pada kolom kunci utama.
Anda dapat menggabungkan hingga dua tabel.
Klausa ORDER BY dan LIMIT hanya didukung untuk pembaruan tabel tunggal.
Jika Anda mengeksekusi pernyataan
INSERT ON DUPLICATE KEY UPDATEuntuk memperbarui sejumlah besar data atau memperbarui data dengan frekuensi tinggi (lebih dari 100 QPS), pemanfaatan CPU mungkin meningkat secara signifikan. Kami menyarankan Anda mengeksekusi pernyataanREPLACE INTOuntuk memperbarui data secara batch. Untuk informasi lebih lanjut, lihat REPLACE INTO.
Memperbarui tabel tunggal
Sintaksis
UPDATE nama_tabel
SET daftar_penugasan
[WHERE kondisi_where]
[ORDER BY ...]
[LIMIT ...] Contoh
Ubah nama pelanggan dengan ID 2369 di tabel pelanggan menjadi Claire.
UPDATE
customer
SET
customer_name ='Claire'
WHERE
customer_id ='2369'; Memperbarui beberapa tabel
Versi yang didukung
Kluster AnalyticDB for MySQL versi V3.1.6.4 atau lebih baru.
Untuk melihat dan memperbarui versi minor dari kluster AnalyticDB for MySQL, masuk ke konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.
Sintaksis
UPDATE Nama_tabel1
[INNER JOIN | LEFT JOIN] Nama_tabel2 ON Nama_tabel1.C1 = Nama_tabel2.C1
SET daftar_penugasan
[WHERE kondisi_where]Catatan penggunaan
Klausa ORDER BY dan LIMIT tidak didukung untuk pembaruan multi-tabel.
Saat memperbarui data dari beberapa tabel, Anda dapat menggabungkan hingga dua tabel.
Jika ingin memperbarui data dari beberapa tabel, Anda hanya dapat mengeksekusi satu pernyataan UPDATE pada satu tabel.
Saat memperbarui data dari beberapa tabel, letakkan tabel yang ingin diperbarui di posisi pertama. Sebagai contoh, eksekusi pernyataan berikut untuk mengubah
ID pelanggandi tabelcustomermenjadi 1:UPDATE customer LEFT JOIN new_customer ON customer.customer_name = new_customer.customer_name SET customer.customer_id = '1';
Contoh
Eksekusi pernyataan
UPDATEyang berisiLEFT JOIN.Ubah usia pelanggan dengan ID
2369di tabel pelanggan menjadi 42.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';Eksekusi pernyataan
UPDATEyang berisiINNER JOIN.Ubah ID pelanggan di tabel pelanggan menjadi 2369.
UPDATE customer INNER JOIN new_customer ON customer.customer_name = new_customer.customer_name SET customer.customer_id = '2369';Ubah bidang customer_name di tabel pelanggan menjadi bidang customer_name di tabel new_customer.
UPDATE customer INNER JOIN new_customer ON customer.customer_id = new_customer.customer_id SET customer.customer_name = new_customer.customer_name;