mysql 셸 내의 테이블 줄 없이 쿼리 결과 표시(비표 출력)
mysql shell 내에 아래와 같은 쿼리 결과를 표시할 수 있습니까?
mysql> select code, created_at from my_records;
code created_at
1213307927 2013-04-26 09:52:10
8400000000 2013-04-29 23:38:48
8311000001 2013-04-29 23:38:48
3 rows in set (0.00 sec)
대신에
mysql> select code, created_at from my_records;
+------------+---------------------+
| code | created_at |
+------------+---------------------+
| 1213307927 | 2013-04-26 09:52:10 |
| 8400000000 | 2013-04-29 23:38:48 |
| 8311000001 | 2013-04-29 23:38:48 |
+------------+---------------------+
3 rows in set (0.00 sec)
출력물을 복사해서 다른 툴에 붙여넣어야 하는 지루한 작업이 있어서 물어보는 이유입니다.
--raw, -r
표 출력의 경우 열 주변의 "상자"를 사용하면 하나의 열 값을 다른 열 값과 구별할 수 있습니다.표가 아닌 출력(예: 배치 모드에서 생성되거나 --batch 또는 --silent 옵션이 제공되는 경우)의 경우 특수 문자가 출력에서 빠져나가 쉽게 식별할 수 있습니다.새 줄, 탭, NUL, 백슬래시는 \n, \t, \0, \\으로 적습니다.--raw 옵션은 이 문자 탈출을 사용 불가능으로 설정합니다.
다음 예제에서는 표식 출력과 비표식 출력, 탈출을 비활성화하기 위한 원시 모드 사용을 보여 줍니다.
% mysql
mysql> SELECT CHAR(92);
+----------+
| CHAR(92) |
+----------+
| \ |
+----------+
% mysql --silent
mysql> SELECT CHAR(92);
CHAR(92)
\\
% mysql --silent --raw
mysql> SELECT CHAR(92);
CHAR(92)
\
정확히 필요한 것은 아니지만 유용할 수도 있습니다.쿼리 끝에 \G 추가
select code, created_at from my_records\G;
쿼리 결과는 다음과 같습니다.
*************************** 1. row ***************************
code: 1213307927
created_at: 2013-04-26 09:52:10
*************************** 2. row ***************************
code: 8400000000
created_at: 2013-04-29 23:38:48
원라이너
mysql -u YOURUSER -p --password=YOURPASSWORD -s -r -e "show databases;"
mysql -u root -p --password=abc12345 -s -r -e "show databases;"
당신은 통과해야 합니다.-s
매개변수mysql -s
.
mysql --skip-열-names --silent --raw --execute "select * from someone;"
사용자의 기본 옵션으로 설정하려면 ~/.my.cnf skip_column_names silent raw에 다음을 추가합니다.
이 문제를 해결했지만 concat_ws를 사용하여 결과를 함께 결합한 후 공백을 추가합니다(첫 번째 인수).
select concat_ws (' ',ipNetFull,ipUsage,broadcast,gateway) from ipNets;
주변 테이블 없이 MySQL 클라이언트 출력을 얻으려면 mysql 클라이언트 대신 linux 명령줄에서 쿼리를 실행할 수 있습니다.
$ echo "SELECT CONCAT_WS(' ','DROP TABLE',TABLE_NAME,';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%';" | mysql dbname
bonth: sort 등을 통해 출력을 파이프링하거나, 다시 mysql에 넣을 수도 있습니다.
$ echo "SELECT CONCAT_WS(' ','DROP TABLE',CONCAT_WS('.',TABLE_SCHEMA,TABLE_NAME),';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'i\'m\_not\_that\_mean';" | mysql | mysql;
빠른 해결 방법:
최신 MySQL 클라이언트(어떤 버전인지 확실하지 않음)를 사용하여 PAGER 지시어를 사용하여 결과를 조작할 수 있습니다.데이터를 흐리지 않으려면 이러한 식을 변경해야 할 수도 있습니다.
> PAGER sed 's/|//g'
PAGER set to 'sed 's/|//g''
barracuda@db-ess-rw.us-east-2.ess.aws.vt2.com [ess]
> SELECT 'row1_col1' AS column1, 'row1_col2' AS column2
UNION ALL SELECT 'row2_col1', 'row2_col2';
+---------+---------+
column1 column2
+---------+---------+
row1_col1 row1_col2
row2_col1 row2_col2
+---------+---------+
2 rows in set (0.00 sec)
이 작업을 수행하기 전에 PAGE의 현재 값을 확인할 수 있습니다.
> PAGER
PAGER set to 'less'
'less'를 PAGER로 사용하도록 재설정하려면 다음과 같이 하십시오.
> PAGER less
PAGER set to 'less'
PAGER로 더 재미있는 점:
https://www.percona.com/blog/2013/01/21/fun-with-the-mysql-pager-command/
질문과 답변에 너무 혼란스러웠습니다. ran sql과 결과는 줄이나 비표 형식 없이 계속 표시되었습니다.나중에 쿼리 공간을 마우스 오른쪽 버튼으로 클릭하고 "결과 대상" > "결과 대상"으로 이동할 때 옵션이 있음을 알게 되었습니다.표 형식으로 다시 설정해야 합니다.
제가 경험하고 있던 형식인 "문자로 결과"에 대한 옵션도 있습니다.
:)!
언급URL : https://stackoverflow.com/questions/18630499/display-query-results-without-table-line-within-mysql-shell-nontabular-output
'programing' 카테고리의 다른 글
ARM: 링크 레지스터 및 프레임 포인터 (0) | 2023.10.21 |
---|---|
Angular.js 매개 변수를 사용하여 리소스를 삭제 (0) | 2023.10.21 |
함수에서 비동기 대기를 사용하여 비동기 함수에서 값을 반환하는 방법은 무엇입니까? (0) | 2023.10.21 |
jQuery.val() vs.attr("value") (0) | 2023.10.21 |
spring boot application에서 탄력적인 검색 쿼리를 표시하는 방법 (0) | 2023.10.21 |