SQLite | SQLite 명령어 | SELECT문으로 결과 표시할 때 컬럼명 표시 (.headers 명령)

.headers 명령을 사용하면 SELECT 문의 결과를 표시할 때 헤더 부분에 컬럼명을 표시할 수 있다. 여기에서는 .headers 명령의 사용법에 대해 설명한다.

.headers 명령 사용

.headers 명령을 사용하면 SELECT 문에서 데이터를 조회하여 표시할 때 헤더인 컬럼명을 표시할지 여부를 설정할 수 있다. 형식은 다음과 같다.

.headers on|off

“.headers on"을 실행하면 헤더가 표시되고, “.headers off"를 실행하면 헤더가 표시되지 않는다. 그리고 .headers 대신 .header으로도 설정이 가능하다.

현재 설정 상태는 .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> 

“headers” 항목의 값이 “off"로 되어 기본적으로 헤더가 표시되지 않는다.

그럼 기본 설정을 그대로 데이터를 조회해 보자.

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

데이터만 표시되었다. 다음은 헤더를 표시하도록 설정을 한 후에 다시 데이터를 조회해 보자.

.headers on
sqlite> .headers on
sqlite> 
sqlite> select * from user;
id|name|address
1|devkuma|Seoul
2|kimkc|Busan
3|araikuma|Seoul
4|happykuma|Seoul
5|mykuma|Daejeon
sqlite> 

이번에는 데이터가 표시되기 전에 첫 행에 컬럼명이 표시되었다.

그럼 표시 모드를 변경하여 헤더가 어떻게 표시되는지 좀 확인해 보도록 하자. 표시 모드 변경은 SELECT문의 표시 모드를 변경 (.mode 명령)를 참조한다.

mode = csv :

sqlite> .mode csv
sqlite> 
sqlite> select * from user;
id,name,address
1,devkuma,Seoul
2,kimkc,Busan
3,araikuma,Seoul
4,happykuma,Seoul
5,mykuma,Daejeon
sqlite> 

mode = column :

sqlite> .mode column
sqlite> 
sqlite> select * from user;
id          name        address   
----------  ----------  ----------
1           devkuma     Seoul     
2           kimkc       Busan     
3           araikuma    Seoul     
4           happykuma   Seoul     
5           mykuma      Daejeon   
sqlite> 

mode = html :

sqlite> select * from user;
<TR><TH>id</TH>
<TH>name</TH>
<TH>address</TH>
</TR>
<TR><TD>1</TD>
<TD>devkuma</TD>
<TD>Seoul</TD>
</TR>
<TR><TD>2</TD>
<TD>kimkc</TD>
<TD>Busan</TD>
</TR>
<TR><TD>3</TD>
<TD>araikuma</TD>
<TD>Seoul</TD>
</TR>
<TR><TD>4</TD>
<TD>happykuma</TD>
<TD>Seoul</TD>
</TR>
<TR><TD>5</TD>
<TD>mykuma</TD>
<TD>Daejeon</TD>
</TR>
sqlite> 

mode = tabs :

sqlite> .mode tabs
sqlite> 
sqlite> select * from user;
id	name	address
1	devkuma	Seoul
2	kimkc	Busan
3	araikuma	Seoul
4	happykuma	Seoul
5	mykuma	Daejeon
sqlite> 

mode = tcl :

sqlite> .mode tcl
sqlite> 
sqlite> select * from user;
"id" "name" "address"
"1" "devkuma" "Seoul"
"2" "kimkc" "Busan"
"3" "araikuma" "Seoul"
"4" "happykuma" "Seoul"
"5" "mykuma" "Daejeon"
sqlite> 

설정되어 있는 모드에 따라 헤더도 그에 맞게 표시된다.