日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL中show语法

發布時間:2024/2/28 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 show命令

show databases;

show tables from db_name;

show columns from table_name from db_name;

show index from talbe_name [from db_name];

show status;

show variables;

show [full] processlist;

show table status [from db_name];

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

總結

以上是生活随笔為你收集整理的MySQL中show语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。