MySQL中show语法
1. show tables或show tables from database_name; -- 顯示當前數(shù)據(jù)庫中所有表的名稱。?
2. show databases; -- 顯示mysql中所有數(shù)據(jù)庫的名稱。?
3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 顯示表中列名稱。?
4. show grants for user_name; -- 顯示一個用戶的權(quán)限,顯示結(jié)果類似于grant 命令。?
5. show index from table_name; -- 顯示表的索引。?
6. show status; -- 顯示一些系統(tǒng)特定資源的信息,例如,正在運行的線程數(shù)量。?
7. show variables; -- 顯示系統(tǒng)變量的名稱和值。?
8. show processlist; -- 顯示系統(tǒng)中正在運行的所有進程,也就是當前正在執(zhí)行的查詢。大多數(shù)用戶可以查看他們自己的進程,但是如果他們擁有process權(quán)限,就可以查看所有人的進程,包括密碼。?
9. show table status; -- 顯示當前使用或者指定的database中的每個表的信息。信息包括表類型和表的最新更新時間。?
10. show privileges; -- 顯示服務(wù)器所支持的不同權(quán)限。?
11. show create database database_name; -- 顯示create database 語句是否能夠創(chuàng)建指定的數(shù)據(jù)庫。?
12. show create table table_name; -- 顯示create database 語句是否能夠創(chuàng)建指定的數(shù)據(jù)庫。?
13. show engines; -- 顯示安裝以后可用的存儲引擎和默認引擎。?
14. show innodb status; -- 顯示innoDB存儲引擎的狀態(tài)。?
15. show logs; -- 顯示BDB存儲引擎的日志。?
16. show warnings; -- 顯示最后一個執(zhí)行的語句所產(chǎn)生的錯誤、警告和通知。?
17. show errors; -- 只顯示最后一個執(zhí)行語句所產(chǎn)生的錯誤。?
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外,其它的都可以帶有l(wèi)ike wild選項,它可以使用SQL的'%'和'_'字符;
show databases like '%t';
將會列出所有數(shù)據(jù)庫名字末尾為't'字符的數(shù)據(jù)庫
當然了,在這些sql中,你也可以用db_name.table_name來代替 table_name from db_name這樣寫會更簡便些!
如果一個用戶沒有一個表的任何權(quán)限,表將不在SHOW TABLES或mysqlshow db_name中的輸出中顯示
大家可能還記得describe table_name ,它實現(xiàn)的是與show columns from db_name.table_name一樣的效果
show status將可以用mysqlshow --status 來得到同樣的效果
- 列?含義
- Name?表名
- Type?表的類型 (ISAM,MyISAM或HEAP)
- Row_format?行存儲格式 (固定, 動態(tài), 或壓縮)
- Rows?行數(shù)量
- Avg_row_length?平均行長度
- Data_length?數(shù)據(jù)文件的長度
- Max_data_length?數(shù)據(jù)文件的最大長度
- Index_length?索引文件的長度
- Data_free?已分配但未使用了字節(jié)數(shù)
- Auto_increment?下一個 autoincrement(自動加1)值
- Create_time?表被創(chuàng)造的時間
- Update_time?數(shù)據(jù)文件最后更新的時間
- Check_time?最后對表運行一個檢查的時間
- Create_options?與CREATE TABLE一起使用的額外選項
- Comment?當創(chuàng)造表時,使用的注釋 (或為什么MySQL不能存取表信息的一些信息)。
SHOW FIELDS是SHOW COLUMNS一個同義詞,SHOW KEYS是SHOW INDEX一個同義詞。你也可以用mysqlshow db_name tbl_name或mysqlshow -k db_name tbl_name 列出一張表的列或索引。
SHOW INDEX以非常相似于ODBC的SQLStatistics調(diào)用的格式返回索引信息。下面的列被返回:
列 含義
Table ? 表名
Non_unique? 0,如果索引不能包含重復(fù)。
Key_name? ? 索引名
Seq_in_index? ? 索引中的列順序號, 從 1 開始。
Column_name 列名。
Collation ? 列怎樣在索引中被排序。在MySQL中,這可以有值A(chǔ)(升序) 或NULL(不排序)。
Cardinality 索引中唯一值的數(shù)量。這可通過運行isamchk -a更改.
Sub_part? ? 如果列只是部分被索引,索引字符的數(shù)量。NULL,如果整個鍵被索引。
SHOW STATUS提供服務(wù)器的狀態(tài)信息(象mysqladmin extended-status一樣)。輸出類似于下面的顯示,盡管格式和數(shù)字可以有點不同:
+--------------------------+--------+
| 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 |
+--------------------------+--------+
上面列出的狀態(tài)變量有下列含義:
- Aborted_clients?由于客戶沒有正確關(guān)閉連接已經(jīng)死掉,已經(jīng)放棄的連接數(shù)量。
- Aborted_connects?嘗試已經(jīng)失敗的MySQL服務(wù)器的連接的次數(shù)。
- Connections?試圖連接MySQL服務(wù)器的次數(shù)。
- Created_tmp_tables?當執(zhí)行語句時,已經(jīng)被創(chuàng)造了的隱含臨時表的數(shù)量。
- Delayed_insert_threads?正在使用的延遲插入處理器線程的數(shù)量。
- Delayed_writes?用INSERT DELAYED寫入的行數(shù)。
- Delayed_errors?用INSERT DELAYED寫入的發(fā)生某些錯誤(可能重復(fù)鍵值)的行數(shù)。
- Flush_commands?執(zhí)行FLUSH命令的次數(shù)。
- Handler_delete?請求從一張表中刪除行的次數(shù)。
- Handler_read_first?請求讀入表中第一行的次數(shù)。
- Handler_read_key?請求數(shù)字基于鍵讀行。
- Handler_read_next?請求讀入基于一個鍵的一行的次數(shù)。
- Handler_read_rnd?請求讀入基于一個固定位置的一行的次數(shù)。
- Handler_update?請求更新表中一行的次數(shù)。
- Handler_write?請求向表中插入一行的次數(shù)。
- Key_blocks_used?用于關(guān)鍵字緩存的塊的數(shù)量。
- Key_read_requests?請求從緩存讀入一個鍵值的次數(shù)。
- Key_reads?從磁盤物理讀入一個鍵值的次數(shù)。
- Key_write_requests?請求將一個關(guān)鍵字塊寫入緩存次數(shù)。
- Key_writes?將一個鍵值塊物理寫入磁盤的次數(shù)。
- Max_used_connections?同時使用的連接的最大數(shù)目。
- Not_flushed_key_blocks?在鍵緩存中已經(jīng)改變但是還沒被清空到磁盤上的鍵塊。
- Not_flushed_delayed_rows?在INSERT DELAY隊列中等待寫入的行的數(shù)量。
- Open_tables?打開表的數(shù)量。
- Open_files?打開文件的數(shù)量。
- Open_streams?打開流的數(shù)量(主要用于日志記載)
- Opened_tables?已經(jīng)打開的表的數(shù)量。
- Questions?發(fā)往服務(wù)器的查詢的數(shù)量。
- Slow_queries?要花超過long_query_time時間的查詢數(shù)量。
- Threads_connected?當前打開的連接的數(shù)量。
- Threads_running?不在睡眠的線程數(shù)量。
- Uptime?服務(wù)器工作了多少秒。
關(guān)于上面的一些注釋:
如果Opened_tables太大,那么你的table_cache變量可能太小。
如果key_reads太大,那么你的key_cache可能太小。緩存命中率可以用key_reads/key_read_requests計算。
如果Handler_read_rnd太大,那么你很可能有大量的查詢需要MySQL掃描整個表或你有沒正確使用鍵值的聯(lián)結(jié)(join)。
SHOW VARIABLES顯示出一些MySQL系統(tǒng)變量的值,你也能使用mysqladmin variables命令得到這個信息。如果缺省值不合適,你能在mysqld啟動時使用命令行選項來設(shè)置這些變量的大多數(shù)。輸出類似于下面的顯示,盡管格式和數(shù)字可以有點不同:
?
+------------------------+--------------------------+
| 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權(quán)限, 你能看見所有的線程,否則,你僅能看見你自己的線程。見7.20 KILL句法。如果你不使用FULL選項,那么每個查詢只有頭100字符被顯示出來。
SHOW GRANTS FOR user列出對一個用戶必須發(fā)出以重復(fù)授權(quán)的授權(quán)命令。
mysql> SHOW GRANTS FOR root@localhost;
+---------------------------------------------------------------------+
| Grants for root@localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root''localhost' WITH GRANT OPTION? |
+---------------------------------------------------------------------+
1
總結(jié)
以上是生活随笔為你收集整理的MySQL中show语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp Request获取url信息的各
- 下一篇: mysql max_allowed_pa