Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Semua Lajur Kecuali Satu dalam MySQL?

Bagaimana untuk Memilih Semua Lajur Kecuali Satu dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-30 02:42:09476semak imbas

How to Select All Columns Except One in MySQL?

Mengambil Semua kecuali Satu Lajur daripada Jadual MySQL

Soalan:

Dalam MySQL pangkalan data, bagaimana anda boleh mendapatkan semula semua lajur kecuali lajur tertentu dalam lajur tertentu table?

Jawapan:

Walaupun ini mungkin kelihatan seperti tugas yang mudah, MySQL tidak menyediakan kaedah terbina dalam untuk mengecualikan lajur tertentu dalam pernyataan SELECT. Walau bagaimanapun, menggunakan gabungan SQL dinamik dan prosedur tersimpan, adalah mungkin untuk mencapai fungsi ini.

Penyelesaian:

Ikuti langkah ini untuk mendapatkan semua lajur kecuali satu dalam jadual MySQL:

  1. Buat Simpanan Prosedur:
DELIMITER //

CREATE PROCEDURE get_all_columns_except(
    IN table_name VARCHAR(255),
    IN database_name VARCHAR(255),
    IN excluded_column VARCHAR(255)
)
BEGIN

    -- Dynamically build the SELECT statement
    SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), excluded_column, '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = table_name AND TABLE_SCHEMA = database_name), ' FROM ', table_name);

    -- Prepare the statement for execution
    PREPARE stmt1 FROM @sql;

    -- Execute the statement
    EXECUTE stmt1;

END //

DELIMITER ;
  1. Panggil Prosedur Tersimpan:

Setelah prosedur tersimpan dibuat, anda boleh menghubungi ia dengan arahan berikut:

CALL get_all_columns_except('table_name', 'database_name', 'excluded_column_name');
  1. Parameter Penggantian:

Ganti "table_name", "database_name" dan "excluded_column_name" dengan nilai sebenar.

Contoh:

Untuk mendapatkan semula semua lajur kecuali lajur "last_name" dalam "pekerja" jadual dalam pangkalan data "company_db", anda akan memanggil prosedur tersimpan seperti berikut:

CALL get_all_columns_except('employees', 'company_db', 'last_name');

Pendekatan ini membolehkan anda memilih semua lajur dalam jadual, secara automatik meninggalkan lajur yang ditentukan, walaupun jadual mempunyai bilangan lajur yang banyak.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Semua Lajur Kecuali Satu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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