MySQL中show語法

1. show tables或show tables from database_name; -- 顯示當前數據庫中全部表的名稱。 
2. show databases; -- 顯示mysql中全部數據庫的名稱。 
3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 顯示錶中列名稱。 
4. show grants for user_name; -- 顯示一個用戶的權限,顯示結果相似於grant 命令。 
5. show index from table_name; -- 顯示錶的索引。 
6. show status; -- 顯示一些系統特定資源的信息,例如,正在運行的線程數量。 
7. show variables; -- 顯示系統變量的名稱和值。 
8. show processlist; -- 顯示系統中正在運行的全部進程,也就是當前正在執行的查詢。大多數用戶能夠查看他們本身的進程,可是若是他們擁有process權限,就能夠查看全部人的進程,包括密碼。 
9. show table status; -- 顯示當前使用或者指定的database中的每一個表的信息。信息包括表類型和表的最新更新時間。 
10. show privileges; -- 顯示服務器所支持的不一樣權限。 
11. show create database database_name; -- 顯示create database 語句是否可以建立指定的數據庫。 
12. show create table table_name; -- 顯示create database 語句是否可以建立指定的數據庫。 
13. show engines; -- 顯示安裝之後可用的存儲引擎和默認引擎。 
14. show innodb status; -- 顯示innoDB存儲引擎的狀態。 
15. show logs; -- 顯示BDB存儲引擎的日誌。 
16. show warnings; -- 顯示最後一個執行的語句所產生的錯誤、警告和通知。 
17. show errors; -- 只顯示最後一個執行語句所產生的錯誤。 
18. show [storage] engines; --顯示安裝後的可用存儲引擎和默認引擎。
mysql

mysql show命令sql

show databases;數據庫

show tables from db_name;緩存

show columns from table_name from db_name;服務器

show index from talbe_name [from db_name];socket

show status;spa

show variables;命令行

show [full] processlist;線程

show table status [from db_name];debug

show grants for user;

除了status,processlist和grants外,其它的均可以帶有like wild選項,它能夠使用SQL的'%'和'_'字符;

show databases like '%t';

將會列出全部數據庫名字末尾爲't'字符的數據庫

固然了,在這些sql中,你也能夠用db_name.table_name來代替 table_name from db_name這樣寫會更簡便些!

若是一個用戶沒有一個表的任何權限,表將不在SHOW TABLES或mysqlshow db_name中的輸出中顯示

你們可能還記得describe table_name ,它實現的是與show columns from db_name.table_name同樣的效果

show status將能夠用mysqlshow --status 來獲得一樣的效果

  • 列 含義
  • Name 表名
  • Type 表的類型 (ISAM,MyISAM或HEAP)
  • Row_format 行存儲格式 (固定, 動態, 或壓縮)
  • Rows 行數量
  • Avg_row_length 平均行長度
  • Data_length 數據文件的長度
  • Max_data_length 數據文件的最大長度
  • Index_length 索引文件的長度
  • Data_free 已分配但未使用了字節數
  • Auto_increment 下一個 autoincrement(自動加1)值
  • Create_time 表被創造的時間
  • Update_time 數據文件最後更新的時間
  • Check_time 最後對錶運行一個檢查的時間
  • Create_options 與CREATE TABLE一塊兒使用的額外選項
  • Comment 當創造表時,使用的註釋 (或爲何MySQL不能存取表信息的一些信息)。

SHOW FIELDS是SHOW COLUMNS一個同義詞,SHOW KEYS是SHOW INDEX一個同義詞。你也能夠用mysqlshow db_name tbl_name或mysqlshow -k db_name tbl_name 列出一張表的列或索引。

SHOW INDEX以很是類似於ODBC的SQLStatistics調用的格式返回索引信息。下面的列被返回:

列 含義

Table   表名

Non_unique  0,若是索引不能包含重複。

Key_name    索引名

Seq_in_index    索引中的列順序號, 從 1 開始。

Column_name 列名。

Collation   列怎樣在索引中被排序。在MySQL中,這能夠有值A(升序) 或NULL(不排序)。

Cardinality 索引中惟一值的數量。這可經過運行isamchk -a更改.

Sub_part    若是列只是部分被索引,索引字符的數量。NULL,若是整個鍵被索引。

SHOW STATUS提供服務器的狀態信息(象mysqladmin extended-status同樣)。輸出相似於下面的顯示,儘管格式和數字能夠有點不一樣:

+--------------------------+--------+

| Variable_name            | Value  |

+--------------------------+--------+

| Aborted_clients          | 0      |

| Aborted_connects         | 0      |

| Connections              | 17     |

| Created_tmp_tables       | 0      |

| Delayed_insert_threads   | 0      |

| Delayed_writes           | 0      |

| Delayed_errors           | 0      |

| Flush_commands           | 2      |

| Handler_delete           | 2      |

| Handler_read_first       | 0      |

| Handler_read_key         | 1      |

| Handler_read_next        | 0      |

| Handler_read_rnd         | 35     |

| Handler_update           | 0      |

| Handler_write            | 2      |

| Key_blocks_used          | 0      |

| Key_read_requests        | 0      |

| Key_reads                | 0      |

| Key_write_requests       | 0      |

| Key_writes               | 0      |

| Max_used_connections     | 1      |

| Not_flushed_key_blocks   | 0      |

| Not_flushed_delayed_rows | 0      |

| Open_tables              | 1      |

| Open_files               | 2      |

| Open_streams             | 0      |

| Opened_tables            | 11     |

| Questions                | 14     |

| Slow_queries             | 0      |

| Threads_connected        | 1      |

| Threads_running          | 1      |

| Uptime                   | 149111 |

+--------------------------+--------+

上面列出的狀態變量有下列含義:

  • Aborted_clients 因爲客戶沒有正確關閉鏈接已經死掉,已經放棄的鏈接數量。
  • Aborted_connects 嘗試已經失敗的MySQL服務器的鏈接的次數。
  • Connections 試圖鏈接MySQL服務器的次數。
  • Created_tmp_tables 當執行語句時,已經被創造了的隱含臨時表的數量。
  • Delayed_insert_threads 正在使用的延遲插入處理器線程的數量。
  • Delayed_writes 用INSERT DELAYED寫入的行數。
  • Delayed_errors 用INSERT DELAYED寫入的發生某些錯誤(可能重複鍵值)的行數。
  • Flush_commands 執行FLUSH命令的次數。
  • Handler_delete 請求從一張表中刪除行的次數。
  • Handler_read_first 請求讀入表中第一行的次數。
  • Handler_read_key 請求數字基於鍵讀行。
  • Handler_read_next 請求讀入基於一個鍵的一行的次數。
  • Handler_read_rnd 請求讀入基於一個固定位置的一行的次數。
  • Handler_update 請求更新表中一行的次數。
  • Handler_write 請求向表中插入一行的次數。
  • Key_blocks_used 用於關鍵字緩存的塊的數量。
  • Key_read_requests 請求從緩存讀入一個鍵值的次數。
  • Key_reads 從磁盤物理讀入一個鍵值的次數。
  • Key_write_requests 請求將一個關鍵字塊寫入緩存次數。
  • Key_writes 將一個鍵值塊物理寫入磁盤的次數。
  • Max_used_connections 同時使用的鏈接的最大數目。
  • Not_flushed_key_blocks 在鍵緩存中已經改變可是還沒被清空到磁盤上的鍵塊。
  • Not_flushed_delayed_rows 在INSERT DELAY隊列中等待寫入的行的數量。
  • Open_tables 打開表的數量。
  • Open_files 打開文件的數量。
  • Open_streams 打開流的數量(主要用於日誌記載)
  • Opened_tables 已經打開的表的數量。
  • Questions 發往服務器的查詢的數量。
  • Slow_queries 要花超過long_query_time時間的查詢數量。
  • Threads_connected 當前打開的鏈接的數量。
  • Threads_running 不在睡眠的線程數量。
  • Uptime 服務器工做了多少秒。

關於上面的一些註釋:

若是Opened_tables太大,那麼你的table_cache變量可能過小。

若是key_reads太大,那麼你的key_cache可能過小。緩存命中率能夠用key_reads/key_read_requests計算。

若是Handler_read_rnd太大,那麼你極可能有大量的查詢須要MySQL掃描整個表或你有沒正確使用鍵值的聯結(join)。

SHOW VARIABLES顯示出一些MySQL系統變量的值,你也能使用mysqladmin variables命令獲得這個信息。若是缺省值不合適,你能在mysqld啓動時使用命令行選項來設置這些變量的大多數。輸出相似於下面的顯示,儘管格式和數字能夠有點不一樣:

 

+------------------------+--------------------------+

| Variable_name          | Value                    |

+------------------------+--------------------------+

| back_log               | 5                        |

| connect_timeout        | 5                        |

| basedir                | /my/monty/               |

| datadir                | /my/monty/data/          |

| delayed_insert_limit   | 100                      |

| delayed_insert_timeout | 300                      |

| delayed_queue_size     | 1000                     |

| join_buffer_size       | 131072                   |

| flush_time             | 0                        |

| interactive_timeout    | 28800                    |

| key_buffer_size        | 1048540                  |

| language               | /my/monty/share/english/ |

| log                    | OFF                      |

| log_update             | OFF                      |

| long_query_time        | 10                       |

| low_priority_updates   | OFF                      |

| max_allowed_packet     | 1048576                  |

| max_connections        | 100                      |

| max_connect_errors     | 10                       |

| max_delayed_threads    | 20                       |

| max_heap_table_size    | 16777216                 |

| max_join_size          | 4294967295               |

| max_sort_length        | 1024                     |

| max_tmp_tables         | 32                       |

| net_buffer_length      | 16384                    |

| port                   | 3306                     |

| protocol-version       | 10                       |

| record_buffer          | 131072                   |

| skip_locking           | ON                       |

| socket                 | /tmp/mysql.sock          |

| sort_buffer            | 2097116                  |

| table_cache            | 64                       |

| thread_stack           | 131072                   |

| tmp_table_size         | 1048576                  |

| tmpdir                 | /machine/tmp/            |

| version                | 3.23.0-alpha-debug       |

| wait_timeout           | 28800                    |

+------------------------+--------------------------+

SHOW PROCESSLIST顯示哪一個線程正在運行,你也能使用mysqladmin processlist命令獲得這個信息。

若是你有process權限, 你能看見全部的線程,不然,你僅能看見你本身的線程。見7.20 KILL句法。若是你不使用FULL選項,那麼每一個查詢只有頭100字符被顯示出來。

SHOW GRANTS FOR user列出對一個用戶必須發出以重複受權的受權命令。

mysql> SHOW GRANTS FOR root@localhost;

+---------------------------------------------------------------------+

| Grants for root@localhost                                           |

+---------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'root''localhost' WITH GRANT OPTION  |

+---------------------------------------------------------------------+

1



 

本站採用 創做共享版權協議, 要求署名、非商業和保持一致. 本站歡迎任何非商業應用的轉載, 但須註明出自" 膘叔", 保留原始連接, 此外還必須標註原文標題和連接.

Tagsmysqlshow

相關文章
相關標籤/搜索