MySQL에서 탭으로 구분된 결과를 얻으려면 CONCAT() 함수를 활용하면 됩니다. CONCAT 함수는 여러 문자열이나 컬럼 값을 하나로 연결해 주며, 그 사이에 탭 문자(\t)를 삽입하면 탭으로 구분된 형태의 출력을 손쉽게 만들 수 있습니다.
기본 문법
SELECT CONCAT(yourColumnName1, "\t", yourColumnName2) AS anyAliasName FROM yourTableName;
예제 테이블 생성
먼저 실습용 테이블을 만들어 보겠습니다.
mysql> CREATE TABLE DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName varchar(20),
LastName varchar(20)
);
Query OK, 0 rows affected (0.81 sec)데이터 삽입
INSERT 명령을 사용하여 테이블에 레코드를 추가합니다.
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Smith');
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('Carol', 'Taylor');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('John', 'Doe');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(FirstName, LastName) VALUES('David', 'Miller');
Query OK, 1 row affected (0.12 sec)저장된 데이터 확인
SELECT 명령으로 테이블의 전체 레코드를 조회합니다.
mysql> SELECT * FROM DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | John | Smith | | 2 | Carol | Taylor | | 3 | John | Doe | | 4 | David | Miller | +----+-----------+----------+ 4 rows in set (0.00 sec)
탭으로 구분된 SELECT 문 실행
이제 CONCAT 함수와 탭 문자(\t)를 이용해 이름과 성을 하나의 컬럼으로 연결하는 쿼리를 실행해 보겠습니다.
mysql> SELECT CONCAT(FirstName, "\t", LastName) AS Tab_Delimited_Demo FROM DemoTable;
실행 결과는 다음과 같습니다.
+--------------------+ | Tab_Delimited_Demo | +--------------------+ | John Smith | | Carol Taylor | | John Doe | | David Miller | +--------------------+ 4 rows in set (0.00 sec)
추가 팁
세 개 이상의 컬럼을 연결할 수도 있습니다. 예를 들어 CONCAT(col1, "\t", col2, "\t", col3)처럼 작성하면 각 값이 탭으로 구분되어 출력됩니다. 또한 CONCAT_WS() 함수를 사용하면 구분자를 한 번만 지정하여 더 깔끔하게 처리할 수 있습니다.
mysql> SELECT CONCAT_WS("\t", FirstName, LastName) AS Tab_Delimited_Demo FROM DemoTable;이 방법은 데이터를 CSV나 TSV 파일처럼 내보내거나, 엑셀 등의 스프레드시트 프로그램에서 바로 활용할 수 있는 형태로 가공할 때 특히 유용합니다.