단일 SQL 문에 대한 열 헤더 출력을 억제하려면 어떻게해야합니까?


113

mysql명령 줄 바이너리를 사용하여 일부 SQL 문을 일괄 적으로 실행하고 있습니다. 여러 SELECT 문 중 하나가 열 머리글을 인쇄하지 않고 선택한 레코드 만 인쇄하고 싶습니다. 이게 가능해?

답변:


247

-N(별명 -Nis --skip-column-names) 옵션 을 사용하여 mysql을 호출합니다 .

mysql -N ...
use testdb;
select * from names;

+------+-------+
|    1 | pete  |
|    2 | john  |
|    3 | mike  |
+------+-------+
3 rows in set (0.00 sec)

-N 별칭을 지적한 ErichBSchulz에게 감사드립니다.

결과 주위의 그리드 (수직 및 수평선)를 제거하려면 -s( --silent)를 사용 하십시오. 열은 TAB문자 로 구분됩니다 .

mysql -s ...
use testdb;
select * from names;

id  name
1   pete
2   john
3   mike

헤더와 그리드가없는 데이터를 출력하려면 -s-N.

mysql -sN ...

3
바로 가기-N
ErichBSchulz 2015

4
-sN은 스크립트의 변수에 출력을 할당하기 위해 잘 작동했습니다. TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS...
Michael J

5
이는 단일 SQL 문뿐만 아니라 전체 세션에 적용됩니다. 오라클 SQLPLUS는이 set feedback onset feedback off있는 세션 어디서나 사용할 수 있습니다. MySQL에 동등한 기능이 있습니까? OP가 찾고 있던 것 같습니다.
codeforester

간단한 설명입니다. select * from testdb.names를 사용하여 단순화 하십시오. 명시적인 '사용'없이.
fcm

15

다음과 같이 속일 수 있습니다.

-- with column headings 
select column1, column2 from some_table;

-- without column headings
select column1 as '', column2 as '' from some_table;

Error: Type mismatch: expected type string, but got별칭이 비어있는 오류
QkiZ

해당 오류는 MySQL이 아닌 MySQL Workbench에서 발생한 것 같습니다. 어쨌든 빈 문자열 대신 하나의 공백을 사용할 수도 있습니다. MySQL Workbench에서 작동하는 것 같습니다.select column1 as ' ', column2 as ' ' from some_table;
Tom Warfield
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.