学习资料:https://blog.csdn.net/qq_17586821/article/details/54234573
在MySQL中,DESCRIBE 和 EXPLAIN 是同义词。可以使用两者中的任何一个来获取表结构信息或者查询执行计划(查询执行计划:对MySQL执行查询的解释)
事实上,尽管说二者是同义词。但是,DESCRIBE 更多地用于获取表结构信息;而 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
}
explainable_stmt: {
SELECT statement
| DELETE statement
| INSERT statement
| REPLACE statement
| UPDATE statement
}
#后面的用法不是很理解的 ,用到的时候再说吧
mysql> DESCRIBE pet; # 列出 pet 表的所有列
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.02 sec)
DESCRIBE 提供了一张表中的列的信息。
DESCRIBE is a shortcut for SHOW COLUMNS. "SHOW COLUMNS" 语法能提供更多的关于输出列的信息。
默认情况下,DESCRIBE 显示表中所有列的信息。
如果指定col_name的话,将只显示指定的列的信息。
mysql> DESCRIBE pet name; # 只显示 name 列的信息
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.02 sec)
如果指定wild的话,它应该是一个匹配字符串。可以包含 % (表示任意字符)和 _ (表示单个字符);这种情况下,输出结果将会是匹配到的列的信息。
如果列名里边没有空字符或特殊字符,wild 没有必要使用引号。
mysql> DESCRIBE pet ___; # 输出列名是三个字符的列的信息
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| sex | char(1) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.02 sec)
mysql> DESCRIBE pet "d%"; # 输出列名是以字母d开头的列的信息
+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| death | date | YES | | NULL | |
+-------+------+------+-----+---------+-------+
1 row in set (0.01 sec)
————————————————
版权声明:本文为CSDN博主「ThankEveryBody」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_17586821/java/article/details/54234573
补充1:
链接myql:
[root@host]# mysql -u root -p
Enter password:******
mysql 查看数据表相关查看数据库:show databases;
切换到某个数据库:use 数据库名称
补充2:mysql 查看数据表相关
1、查看所有表名:
show tables [from db_name];
2、查看字段信息
SHOW FULL COLUMNS FROM db_name.table_name
获取以下信息
Field :字段名
Type:字段类型
Collation:字符集(mysql 5.0以上有)
Null :是否可以为NULL
Key:索引(PRI,unique,index)
Default:缺省值
Extra:额外(是否 auto_increment)
Privileges:权限
Comment:备注(mysql 5.0以上有)