學習資料: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以上有)