집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 테이블의 모든 열을 연결하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!