参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/describe.html
13.8.1 DESCRIBE 语法
DESCRIBE和EXPLAIN语句是同义词,用于获取有关表结构或查询执行计划的信息
13.8.2 EXPLAIN 语法
{EXPLAIN | DESCRIBE | DESC}
tbl_name [col_name | wild]
{EXPLAIN | DESCRIBE | DESC}
[explain_type]
{explainable_stmt | FOR CONNECTION connection_id}
explain_type: {
EXTENDED
| PARTITIONS
| FORMAT = format_name
}
format_name: {
TRADITIONAL
| JSON
}
DESCRIBE和EXPLAIN语句是同义词。 实际上,DESCRIBE关键字通常用于获取关于表结构的信息,而EXPLAIN用于获取查询执行计划(也就是说MySQL将如何执行查询)。
以下讨论根据这些用途使用DESCRIBE和EXPLAIN关键字,但MySQL解析器将它们视为完全同义。
获得表结构信息
DESCRIBE提供有关表中列的信息:
mysql> DESCRIBE City;
DESCRIBE是SHOW COLUMNS的快捷方式。 这些声明还显示视图的信息。 SHOW COLUMNS的说明提供了有关输出列的更多信息。
默认情况下,DESCRIBE显示有关表中所有列的信息。 如果给定,col_name是表中列的名称。 在这种情况下,该语句仅显示指定列的信息。 如果给出,则是一个模式字符串。 它可以包含SQL%和_通配符。 在这种情况下,该语句仅显示名称与字符串匹配的列的输出。 除非包含空格或其他特殊字符,否则不需要将该字符串括在引号内。
DESCRIBE语句是为了与Oracle兼容而提供的。
SHOW CREATE TABLE,SHOW TABLE STATUS和SHOW INDEX语句还提供有关表的信息。
13.8.3 HELP 语法
HELP 'search_string'
HELP语句从MySQL参考手册返回联机信息。
HELP语句在帮助表中搜索给定的搜索字符串并显示搜索结果。 搜索字符串不区分大小写。
搜索字符串可以包含通配符%和_。 这些与LIKE运算符执行的模式匹配操作具有相同的含义。 例如,HELP 'rep%' 返回以rep开头的主题列表。
HELP语句理解几种类型的搜索字符串:
HELP 'contents'
HELP 'data types'
HELP 'ascii'
HELP 'create table'
换句话说,搜索字符串与类别,许多主题或单个主题相匹配。 您无法预先告知给定的搜索字符串是否会返回单个帮助主题的项目列表或帮助信息。 但是,您可以通过检查结果集中的行数和列数来判断返回的HELP类型。
以下说明指出结果集可以采用的表单。 示例语句的输出使用您在使用mysql客户端时看到的熟悉的“ tabular”或“ vertical”格式显示,但请注意,mysql本身以不同方式重新格式化HELP结果集。
搜索字符串中找不到匹配项。
这意味着搜索字符串对帮助主题产生了冲击。 结果有三列:
例子: HELP 'replace'
name: REPLACE
description: Syntax:
REPLACE(str,from_str,to_str)
Returns the string str with all occurrences of the string from_str
replaced by the string to_str. REPLACE() performs a case-sensitive
match when searching for from_str.
example: mysql> SELECT REPLACE('', 'w', 'Ww'); -> 'WwW'
这意味着搜索字符串与许多帮助主题相匹配。 结果集指示帮助主题名称:
例子: HELP 'status'
+-----------------------+----------------+
| name | is_it_category |
+-----------------------+----------------+
| SHOW | N |
| SHOW ENGINE | N |
| SHOW MASTER STATUS | N |
| SHOW PROCEDURE STATUS | N |
| SHOW SLAVE STATUS | N |
| SHOW STATUS | N |
| SHOW TABLE STATUS | N |
+-----------------------+----------------+
例子: HELP 'functions'
13.8.4 USE 语法
USE db_name
USE db_name语句告诉MySQL使用db_name数据库作为后续语句的默认(当前)数据库。 在会话结束或另一个USE语句发布之前,数据库保持默认状态:
USE db1;
SELECT COUNT(*) FROMmytable;# selects from db1.mytable
USE db2;
SELECT COUNT(*) FROM mytable;# selects from db2.mytable
通过USE语句将特定数据库设置为默认值并不妨碍您访问其他数据库中的表。 以下示例访问db1数据库中的author表和db2数据库中的editor表:
USE db1;
SELECT author_name,editor_name FROMauthor,db2.editor WHERE author.editor_id= db2.editor.editor_id;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3142641/ ,如需转载,请注明出处,否则将追究法律责任。