Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengulang Melalui Nama Lajur MySQL Menggunakan SQL Asli?

Bagaimana untuk Mengulang Melalui Nama Lajur MySQL Menggunakan SQL Asli?

Linda Hamilton
Lepaskan: 2024-12-29 12:12:10
asal
255 orang telah melayarinya

How to Iterate Through MySQL Column Names Using Native SQL?

Lelaran Melalui Nama Lajur dalam MySQL menggunakan Native SQL

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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);
Salin selepas log masuk

6. Menutup Kursor

Selepas melengkapkan gelung, tutup kursor menggunakan pernyataan CLOSE untuk melepaskan sebarang sumber yang berkaitan:

CLOSE col_names;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan