>  기사  >  데이터 베이스  >  MySQL 테이블의 모든 열을 연결하는 방법은 무엇입니까?

MySQL 테이블의 모든 열을 연결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-24 17:29:02924검색

How to Concatenate All Columns in a MySQL Table?

MySQL에서 모든 열 연결

MySQL에서는 CONCAT() 함수에 * 와일드카드 키워드를 사용하여 모든 열을 연결할 수 없습니다. 테이블. 대신 각 열 이름을 명시적으로 나열해야 합니다.

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

또는 CONCAT_WS() 함수를 사용하여 Null 값을 건너뛸 수 있습니다.

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

원하는 경우 다음을 피할 수 있습니다. 동적 쿼리를 활용하여 열 이름을 수동으로 지정합니다. 테이블의 열 이름 검색:

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

GROUP_CONCAT을 사용하여 쉼표로 구분된 열 이름 목록 가져오기:

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

이제 요소를 연결하여 동적 쿼리를 작성합니다.

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

이 쿼리는 @sql 변수를 다음과 유사한 문자열로 설정합니다.

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

마지막으로 다음 동적 쿼리를 실행합니다.

<code class="sql">PREPARE stmt FROM @sql;
EXECUTE stmt;</code>

예를 들어 SQLfiddle을 사용하여 제공된 HTML 소스를 참조하세요.

위 내용은 MySQL 테이블의 모든 열을 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.