Untuk mendapatkan semula dan melelaran melalui nama lajur dalam jadual MySQL menggunakan SQL, pertimbangkan untuk menggunakan pendekatan berikut:
1. Mendapatkan semula Nama Lajur
Gunakan pernyataan SHOW COLUMNS FROM [table_name] untuk mendapatkan semula senarai semua nama lajur dalam jadual yang ditentukan. Perintah ini menghasilkan set hasil di mana setiap baris mewakili satu lajur dan mengandungi metadata seperti nama lajur.
SHOW COLUMNS FROM table_name;
2. Mencipta Kursor
Untuk mendayakan pemprosesan lelaran nama lajur, cipta kursor menggunakan sintaks DECLARE col_names CURSOR FOR, dengan col_names mewakili nama kursor. Di dalam takrif kursor, nyatakan pertanyaan untuk mendapatkan semula nama lajur, memastikan ia disusun mengikut kedudukan ordinalnya.
DECLARE col_names CURSOR FOR SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'table_name' ORDER BY ordinal_position;
3. Menentukan Bilangan Lajur
Untuk memudahkan kawalan gelung, laksanakan fungsi FOUND_ROWS() dan simpan hasilnya dalam pembolehubah, num_rows. Nilai ini mewakili jumlah bilangan baris (dan oleh itu lajur) yang diambil oleh pertanyaan kursor.
SELECT FOUND_ROWS() INTO num_rows;
4. Melelakan Atas Lajur
Masukkan gelung menggunakan penyataan SET i = 1, di mana i ialah pembolehubah lelaran yang dimulakan kepada 1. Di dalam gelung, gunakan penyataan FETCH col_names INTO col_name untuk mendapatkan setiap nama lajur secara berurutan ke dalam pembolehubah col_name.
SET i = 1; the_loop: LOOP IF i > num_rows THEN CLOSE col_names; LEAVE the_loop; END IF; FETCH col_names INTO col_name; //do whatever else you need to do with the col name SET i = i + 1; END LOOP the_loop;
5. Melaksanakan Prosedur Tersimpan
Dalam gelung, anda boleh secara pilihan melaksanakan prosedur tersimpan menggunakan nama lajur sebagai pembolehubah. Sebagai contoh, pernyataan berikut menggunakan prosedur tersimpan bernama sp_my_proc, menghantar col_name sebagai parameter:
CALL sp_my_proc(col_name);
6. Menutup Kursor
Selepas melengkapkan gelung, tutup kursor menggunakan pernyataan CLOSE untuk melepaskan sebarang sumber yang berkaitan:
CLOSE col_names;
Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Nama Lajur MySQL Menggunakan SQL Asli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!