SQLite | SQLite 명령어 | SELECT 문으로 결과를 표시할 때 구분 기호 변경 (.separator 명령)


.separator 명령을 실행하여 SELECT 문의 결과를 표시할 때 사용되는 구분 기호의 기본값을 변경할 수 있다. 여기에서는 .separator 명령의 사용법에 대해 설명한다.

.separator 명령 사용

.separator 명령을 실행하면 구분 기호로 사용되는 문자를 변경할 수 있다. 구분 기호는 SELECT 문의 결과를 화면에 표시할 때 값과 값을 구분하는 문자로 사용된다. 또한 .import 명령 파일에서 데이터를 읽을 때 데이터를 구분하는 문자로도 사용된다. 사용법은 다음과 같다.

.separator COL? ROW?

첫 번째 인수에 컬럼 구분 기호로 설정하고 싶은 문자열을 지정한다. 두 번째 인수를 지정하면 개행 문자(줄바꿈)도 설정할 수 있다. 초기 기본값은 “|“으로 되고 있다. 구분 문자는 문자뿐만 아니라 문자열로 지정할 수 있다.

현재 설정되어 있는 구분 기호를 확인하려면 .show 명령으로 확인할 수 있다.

.show
sqlite> .show
        echo: off
         eqp: off
     explain: auto
     headers: off
        mode: list
   nullvalue: ""
      output: stdout
colseparator: "|"
rowseparator: "\n"
       stats: off
       width: 
    filename: mydb.sqlite3
sqlite>

colseparator 항목의 결과를보고 하시고, 현재는 “|“로 되어 있다. 예를 들어, 이 설정을 그대로 SELECT 문으로 데이터를 조회하면 각 행의 값과 값의 구분은 “|“가 사용된다.

select * from user;
sqlite> select * from user;
1|devkuma|Seoul
2|kimkc|Busan
3|araikuma|Seoul
4|happykuma|Seoul
5|mykuma|Daejeon
sqlite> 

그럼 구분자를 콤마(,)로 변경해 보도록 한다.

.separator ,
sqlite> .separator ,
sqlite> 

그러면 방금 전과 같은 SELECT 문을 다시 실행해 본다. 이번에는 값과 값의 구분자가 콤마(,)되어 있다.

select * from user;
sqlite> select * from user;
1,devkuma,Seoul
2,kimkc,Busan
3,araikuma,Seoul
4,happykuma,Seoul
5,mykuma,Daejeon
sqlite> 

구분 문자는 문자뿐만 아니라 여러 문자로 이루어진 문자열을 설정할 수도 있다. 설정을 변경한 후에 방금 전과 같은 SELECT 문을 실행하고 있다.

.separator /-/
sqlite> .separator /-/
sqlite> 
sqlite> select * from user;
1/-/devkuma/-/Seoul
2/-/kimkc/-/Busan
3/-/araikuma/-/Seoul
4/-/happykuma/-/Seoul
5/-/mykuma/-/Daejeon
sqlite> 

구분 기호로 설정하는 문자열에 공백이 포함된 경우에는 전체 문자열을 쌍따움표(")로 묶어 작성한다. 아래는 쉼표(,)와 빈 문자열을 지정하고 있다. 설정을 변경한 후에 방금 전과 같은 SELECT 문을 실행한다.

.separator ", "
sqlite> select * from user;
1, devkuma, Seoul
2, kimkc, Busan
3, araikuma, Seoul
4, happykuma, Seoul
5, mykuma, Daejeon
sqlite>