Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Semua Lajur dalam Jadual MySQL?

Bagaimana untuk Menggabungkan Semua Lajur dalam Jadual MySQL?

Mary-Kate Olsen
Lepaskan: 2024-10-24 17:29:02
asal
1054 orang telah melayarinya

How to Concatenate All Columns in a MySQL Table?

Menggabungkan Semua Lajur dalam MySQL

Dalam MySQL, kata kunci kad bebas * tidak boleh digunakan dalam fungsi CONCAT() untuk menggabungkan semua lajur dalam sebuah meja. Sebaliknya, anda mesti menyenaraikan setiap nama lajur secara eksplisit:

<code class="sql">SELECT CONCAT(col1, col2, col3, ...)
FROM yourtable;</code>
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan fungsi CONCAT_WS() untuk melangkau nilai nol:

<code class="sql">SELECT CONCAT_WS(',', col1, col2, col3, ...)
FROM yourtable;</code>
Salin selepas log masuk

Jika anda mahu, anda boleh mengelakkan menentukan nama lajur secara manual dengan menggunakan pertanyaan dinamik. Dapatkan semula nama lajur jadual anda:

<code class="sql">SELECT `column_name`
FROM `information_schema`.`columns`
WHERE `table_schema` = DATABASE()
AND `table_name` = 'yourtable';</code>
Salin selepas log masuk

Gunakan GROUP_CONCAT untuk mendapatkan senarai nama lajur yang dipisahkan koma:

<code class="sql">GROUP_CONCAT(CONCAT('`', column_name, '`'))</code>
Salin selepas log masuk

Sekarang, bina pertanyaan dinamik anda dengan menggabungkan elemen:

<code class="sql">SELECT
CONCAT(
'SELECT CONCAT_WS(\'\',',
GROUP_CONCAT(CONCAT('`', column_name, '`') ORDER BY column_name),
') AS all_columns FROM yourtable;')
FROM `information_schema`.`columns`
WHERE `table_schema` = DATABASE()
AND `table_name` = 'yourtable'
INTO @sql;</code>
Salin selepas log masuk

Pertanyaan ini akan menetapkan pembolehubah @sql kepada rentetan yang serupa dengan:

<code class="sql">SELECT CONCAT_WS('', col1, col2, col3, ...) AS all_columns FROM yourtable;</code>
Salin selepas log masuk

Akhir sekali, laksanakan pertanyaan dinamik ini:

<code class="sql">PREPARE stmt FROM @sql;
EXECUTE stmt;</code>
Salin selepas log masuk

Untuk contoh dengan SQLfiddle, rujuk sumber HTML yang disediakan.

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

sumber:php
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