>php教程 >PHP开发 >MySQL 명령줄 형식의 출력

MySQL 명령줄 형식의 출력

高洛峰
高洛峰원래의
2016-12-14 10:59:431473검색

MySQL의 클라이언트 명령줄 도구에는 사용자 친화적인 기능이 많이 있으며, 어떤 측면에서는 Oracle의 sqlplus보다 사용자 친화적이라고 할 수도 있습니다. 물론 전체적으로는 sqlplus가 더 편리하긴 합니다. 아마도 제가 sqlplus에 더 익숙하기 때문이겠지요. 다음은 MySQL 명령줄에서 일반적으로 사용되는 몇 가지 기능입니다.

1. G를 사용하여 행별로 결과를 세로로 표시합니다.

행이 너무 길어서 이 행을 표시해야 하는 경우 결과가 매우 불편해 보입니다. 각 행의 값을 세로로 출력하려면 SQL 문이나 명령 뒤에 세미콜론 대신 G를 사용합니다. 이는 MySQL을 다른 데이터베이스 도구와 구별하는 가장 친숙한 기능일 수도 있습니다.

mysql> select * from db_archivelog\G
*************************** 1. row ***************************
id: 1
check_day: 2008-06-26
db_name: TBDB1
arc_size: 137
arc_num: 166
per_second: 1.6
avg_time: 8.7

2. 페이저를 사용하여 표시 모드를 설정하세요

선택한 결과 세트가 여러 화면을 초과하는 경우 이전 결과가 순식간에 지나가서 볼 수 없습니다. 페이저를 사용하면 os에서 more 또는 less를 호출하여 쿼리 결과를 표시하도록 설정할 수 있습니다. 이는 대용량 파일을 보기 위해 os에서 more 또는 less를 사용하는 것과 동일한 효과가 있습니다.

더 많이 사용

mysql> pager more
PAGER set to ‘more’
mysql> P more
PAGER set to ‘more’

덜 사용

mysql> pager less
PAGER set to ‘less’
mysql> P less
PAGER set to ‘less’

stdout으로 복원

mysql> nopager
PAGER set to stdout

tee를 사용하여 실행 결과를 저장합니다. 파일로

명령줄의 결과를 외부 파일에 저장할 수 있는 sqlplus의 스풀 기능과 유사합니다. 이미 존재하는 파일을 지정하면 결과가 파일에 추가됩니다.

mysql> tee output.txt
Logging to file ‘output.txt’

또는

mysql> T output.txt
Logging to file ‘output.txt’
mysql> notee
Outfile disabled.

또는

mysql> t
Outfile disabled

4. OS 명령 실행

mysql> system uname
Linux
mysql> ! uname
Linux

5. >

mysql> source test.sql
+—————-+
| current_date() |
+—————-+
| 2008-06-28 |
+—————-+
1 row in set (0.00 sec)
또는

mysql> . test.sql
+—————-+
| current_date() |
+—————-+
| 2008-06-28 |
+—————-+
1 row in set (0.00 sec)
다른 기능도 있습니다. help 또는 ?를 통해 MySQL 명령줄에서 지원되는 일부 명령을 얻을 수 있습니다.

위 주제에 이어 mysql 명령줄에 대한 몇 가지 팁을 소개합니다
1. 결과를 html 형식으로 출력합니다
mysql 클라이언트 매개변수 –html 또는 -T를 사용하면 모든 SQL 쿼리 결과가 자동으로 생성됩니다. HTML 테이블 코드

$ mysql -uroot –html Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3286 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test;
2 rows in set (0.00 sec)
2. 결과를 xml 형식으로 출력

은 위와 유사합니다. –xml 또는 -X 옵션을 사용하여 결과를 xml 형식으로 출력합니다

3. 명령 프롬프트 수정
$ mysql -uroot –xml Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3287 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test;
2 rows in set (0.00 sec)
mysql의 –prompt= 옵션을 사용하거나, mysql 명령줄 환경에 진입한 후 프롬프트 명령을 사용하면 프롬프트를 수정할 수 있습니다


u는 현재 연결된 사용자를 나타내고, d는 현재 연결된 데이터베이스를 나타냅니다. 자세한 옵션은 man mysql을 참조하세요
mysql> prompt u@d> PROMPT set to ‘u@d>’ root@(none)>use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed root@mysql>

여기에서는 구성 파일을 통해 MySQL 명령줄을 설정하는 매개변수를 소개합니다.

MySQL 명령줄의 일부 작동 매개변수는 /etc/my.cnf 구성 파일의 [mysql] 섹션을 통해 설정할 수 있습니다. 예:

프롬프트 설정을 통해 사용자 이름, 현재 데이터베이스 및 현재 시간을 표시합니다. 구성 파일에서 이중 슬래시를 사용하는 것이 가장 좋습니다.
[mysql] prompt=\u@\d \r:\m:\s> pager=’less -S’ tee=’/tmp/mysql.log’

사용 페이저 설정을 통해 쿼리 결과를 표시하려면 -S는 화면 너비를 초과하는 줄을 자르는 것을 의미합니다. 줄이 너무 길면 MySQL의 표시 형식이 지저분해 보입니다. 전체 줄을 보려면 권장됩니다. G를 사용하여 라인을 수직으로 출력합니다. 물론 더 많은 매개변수를 추가하여 출력을 제어할 수도 있습니다.
root@poster 10:26:35>

tee는 MySQL 실행의 모든 ​​출력을 로그 파일에 저장합니다. 매우 긴 줄을 자르는 데 less -S를 사용하더라도 전체 결과는 여전히 로그에 기록됩니다. 프롬프트를 통해 설정됩니다. 시간 표시를 통해 로그 파일에서 각 작업의 시간을 쉽게 볼 수 있습니다. tee의 결과가 파일에 추가되므로 정기적으로 로그 파일을 지워야 합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:MySQL 명령줄다음 기사:MySQL 명령줄