SQL - Mengemas kini Berbilang Rekod dengan Satu Pertanyaan
Dalam bidang SQL, selalunya perlu mengemas kini berbilang rekod dalam pangkalan data meja. Walaupun mudah, melaksanakan kenyataan UPDATE berasingan untuk setiap rekod boleh membosankan dan tidak cekap. Artikel ini menerangkan cara mengemas kini berbilang rekod dalam satu pertanyaan menggunakan dua sintaks alternatif.
Sintaks Kemas Kini Berbilang Jadual
Sintaks kemas kini berbilang jadual membolehkan anda untuk serentak kemas kini rekod daripada berbilang jadual yang dicantumkan oleh lajur biasa mereka. Contohnya, jika anda mempunyai jadual konfigurasi dengan lajur config_name dan config_value, anda boleh mengemas kini nilai untuk berbilang konfigurasi menggunakan pertanyaan berikut:
UPDATE config t1 JOIN config t2 ON t1.config_name = 'name1' AND t2.config_name = 'name2' SET t1.config_value = 'value', t2.config_value = 'value2';
Sintaks Kemas Kini Bersyarat
Pendekatan lain ialah menggunakan sintaks kemas kini bersyarat, yang mengemas kini baris terpilih berdasarkan nilainya. Pertanyaan berikut mengemas kini config_value untuk konfigurasi tertentu menggunakan pernyataan CASE:
UPDATE config SET config_value = CASE config_name WHEN 'name1' THEN 'value' WHEN 'name2' THEN 'value2' ELSE config_value END WHERE config_name IN('name1', 'name2');
Kesimpulan
Teknik ini menyediakan kaedah yang cekap untuk mengemas kini berbilang rekod dalam satu pertanyaan, memperkemas operasi pangkalan data anda dan mempertingkatkan keupayaan pengaturcaraan SQL anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Berbilang Rekod SQL dengan Cekap dengan Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!