跳转至

获得MySQL帮助

获得帮助的途径

  • 一、官方文档
  • 二、mysql客户端工具
  • 三、? show 命令(查看一些数据库创建的DDL,事件的DDL)

一、官方文档

http://dev.mysql.com/doc/refman/5.7/en/

二、mysql客户端工具

# mysql -uroot -p -S /data/mysql_3306/mysql.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.6.29-log Source distribution
mysql> help //输入hel 或者 ? 就显示客户端的帮助,而不是服务器端。

clear     (\c) Clear the current input statement.
#清除当前的sql输入语句,如输错sql语句(未加分号时)回车,可跳出当前的输入。当然也可以在语句后输入分号结束,但有报错信息。

connect   (\r) Reconnect to the server. Optional arguments are db and host.
#mysql的连接被服务器复位了,没必要exit重新连。通过 connect 数据库名 主机名 连接即可

delimiter (\d) Set statement delimiter.
#修改执行符号,通常是“分号”,写存储过程时有很多sql需要分号分隔开,但mysql检测到分号会执行该sql语句,存储过程就写不完了。所以delimiter就解决这个问题,改变当然执行的符号。

edit      (\e) Edit command with $EDITOR.
#修改SQL语句,如写了很长(而且有换行)前面有错要修改,会自动调用VIwq保存退出加 ; 回车就可以执行了

ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.

pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
#查询很多数据的表,让我们控制翻屏显示。
如mysql> pager less;select * from information_schema.tables\G;

print     (\p) Print current command.

prompt    (\R) Change your mysql prompt.
#修改mysql的提示符 可以在my.cnf中的[mysql]章节中定义

quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.

source    (\.) Execute an SQL script file. Takes a file name as an argument.
#从外部执行一个sql脚本

status    (\s) Get status information from the server.
#获得mysql服务器的状态信息(当前连接id,用户、数据库、字符集、启动时间等)

system    (\!) Execute a system shell command.
#后跟操作系统命令,显示系统操作的结果,这样就不用退出mysql再执行系统命令了。

tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
#把查询结果输入到给定文件中去

use       (\u) Use another database. Takes database name as argument.
#切换当前使用的数据库

charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
#改变字符集 如:charset gbk  (改变客户端和连接的字符集,可用status查看)

warnings  (\W) Show warnings after every statement.
#在每一个语句后显示警告信息。

nowarning (\w) Don't show warnings after every statement.
#不显示警告信息

For server side help, type 'help contents'
#查看服务器端帮助,使用help contents

1、prompt示例

mysql> prompt #
PROMPT set to '#'
#select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
#
#prompt mysql>
PROMPT set to 'mysql>'
mysql>
mysql> prompt [\h:] \u@mysql \d \R:\m:\s > 
PROMPT set to '[\h:] \u@mysql \d \R:\m:\s > '
[localhost:] root@mysql (none) 20:02:09 > use test
Database changed
[localhost:] root@mysql test 20:02:15 > show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

2、delimiter示例

mysql> delimiter $$
mysql> show databases;
    -> $$
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

3、status示例

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.29, for Linux (x86_64) using  EditLine wrapper

Connection id:          20
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.6.29-log Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /data/mysql_3306/mysql.sock
Uptime:                 1 hour 29 min 15 sec

Threads: 1  Questions: 117  Slow queries: 5  Opens: 87  Flush tables: 1  Open tables: 80  Queries per second avg: 0.021
--------------

mysql> 

4、tee示例

mysql> \! > /tmp/tee.txt
mysql> tee /tmp/tee.txt
Logging to file '/tmp/tee.txt'
mysql> use test;
Database changed
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> \! cat /tmp/tee.txt
mysql> \! > /tmp/tee.txt
mysql> tee /tmp/tee.txt
mysql> use test;
Database changed
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

5、查看服务器端帮助

mysql> help contents
You asked for help about help category: "Contents"
For more information, type 'help <item>', where <item> is one of the following
categories:
   Account Management
   Administration
   Compound Statements
   Data Definition
   Data Manipulation
   Data Types
   Functions
   Functions and Modifiers for Use with GROUP BY
   Geographic Features
   Help Metadata
   Language Structure
   Plugins
   Procedures
   Storage Engines
   Table Maintenance
   Transactions
   User-Defined Functions
   Utility

mysql> help administration
You asked for help about help category: "Administration"
For more information, type 'help <item>', where <item> is one of the following
topics:
   BINLOG
   CACHE INDEX
   FLUSH
   FLUSH QUERY CACHE
   HELP COMMAND
   KILL
   LOAD INDEX
   RESET
   SET
   SHOW
   SHOW AUTHORS
   SHOW BINARY LOGS
   SHOW BINLOG EVENTS
   SHOW CHARACTER SET
   SHOW COLLATION
   SHOW COLUMNS
   SHOW CONTRIBUTORS
   SHOW CREATE DATABASE
   SHOW CREATE EVENT
   SHOW CREATE FUNCTION
   SHOW CREATE PROCEDURE
   SHOW CREATE TABLE
   SHOW CREATE TRIGGER
   SHOW CREATE VIEW
   SHOW DATABASES
   SHOW ENGINE
   SHOW ENGINES
   SHOW ERRORS
   SHOW EVENTS
   SHOW FUNCTION CODE
   SHOW FUNCTION STATUS
   SHOW GRANTS
   SHOW INDEX
   SHOW MASTER STATUS
   SHOW OPEN TABLES
   SHOW PLUGINS
   SHOW PRIVILEGES
   SHOW PROCEDURE CODE
   SHOW PROCEDURE STATUS
   SHOW PROCESSLIST
   SHOW PROFILE
   SHOW PROFILES
   SHOW RELAYLOG EVENTS
   SHOW SLAVE HOSTS
   SHOW SLAVE STATUS
   SHOW STATUS
   SHOW TABLE STATUS
   SHOW TABLES
   SHOW TRIGGERS
   SHOW VARIABLES
   SHOW WARNINGS
   ```

## 三、show 命令

? show 命令(查看一些数据库创建的DDL,事件的DDL

```mysql
mysql> ? show
Name: 'SHOW'
Description:
SHOW has many forms that provide information about databases, tables,
columns, or status information about the server. This section describes
those following:

SHOW AUTHORS
SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SHOW CHARACTER SET [like_or_where]
SHOW COLLATION [like_or_where]
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
SHOW CONTRIBUTORS
SHOW CREATE DATABASE db_name
SHOW CREATE EVENT event_name
SHOW CREATE FUNCTION func_name
SHOW CREATE PROCEDURE proc_name
SHOW CREATE TABLE tbl_name
SHOW CREATE TRIGGER trigger_name
SHOW CREATE VIEW view_name
SHOW DATABASES [like_or_where]
SHOW ENGINE engine_name {STATUS | MUTEX}
SHOW [STORAGE] ENGINES
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW EVENTS
SHOW FUNCTION CODE func_name
SHOW FUNCTION STATUS [like_or_where]
SHOW GRANTS FOR user
SHOW INDEX FROM tbl_name [FROM db_name]
SHOW MASTER STATUS
SHOW OPEN TABLES [FROM db_name] [like_or_where]
SHOW PLUGINS
SHOW PROCEDURE CODE proc_name
SHOW PROCEDURE STATUS [like_or_where]
SHOW PRIVILEGES
SHOW [FULL] PROCESSLIST
SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
SHOW PROFILES
SHOW SLAVE HOSTS
SHOW SLAVE STATUS
SHOW [GLOBAL | SESSION] STATUS [like_or_where]
SHOW TABLE STATUS [FROM db_name] [like_or_where]
SHOW [FULL] TABLES [FROM db_name] [like_or_where]
SHOW TRIGGERS [FROM db_name] [like_or_where]
SHOW [GLOBAL | SESSION] VARIABLES [like_or_where]
SHOW WARNINGS [LIMIT [offset,] row_count]

like_or_where:
    LIKE 'pattern'
  | WHERE expr

If the syntax for a given SHOW statement includes a LIKE 'pattern'
part, 'pattern' is a string that can contain the SQL "%" and "_"
wildcard characters. The pattern is useful for restricting statement
output to matching values.

Several SHOW statements also accept a WHERE clause that provides more
flexibility in specifying which rows to display. See
http://dev.mysql.com/doc/refman/5.6/en/extended-show.html.

URL: http://dev.mysql.com/doc/refman/5.6/en/show.html

mysql> ? show create database
Name: 'SHOW CREATE DATABASE'
Description:
Syntax:
SHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

Shows the CREATE DATABASE statement that creates the named database. If
the SHOW statement includes an IF NOT EXISTS clause, the output too
includes such a clause. SHOW CREATE SCHEMA is a synonym for SHOW CREATE
DATABASE.

URL: http://dev.mysql.com/doc/refman/5.6/en/show-create-database.html

Examples:
mysql> SHOW CREATE DATABASE test\G
*************************** 1. row ***************************
       Database: test
Create Database: CREATE DATABASE `test`
                 /*!40100 DEFAULT CHARACTER SET latin1 */

mysql> SHOW CREATE SCHEMA test\G
*************************** 1. row ***************************
       Database: test
Create Database: CREATE DATABASE `test`
                 /*!40100 DEFAULT CHARACTER SET latin1 */
? show;
help contents;
help data definition;
help create database;
SHOW CHARACTER SET;
show collation;