11168

[MYSQL] 查看資料表狀態

“
要看資料表的狀態,不是結構喔,以前我都會用 procedure analyse(): SELECT `colname`
„

分享此文連結 //n.sfs.tw/10377

分享連結 [MYSQL] 查看資料表狀態@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 14:16:49 最後編修
2016-12-05 12:10:02 By 張○○
 

自動目錄

列出資料表詳細資料

要看資料表的狀態,不是結構喔,以前我都會用 procedure analyse(),但這個語法很難記,每次都要查。

  SELECT `colname` FROM `tablename` PROCEDURE ANALYSE ( ) ;

例如我想分析整個table `log` 的欄位:

  SELECT * FROM LOGS PROCEDURE ANALYSE ( ) ;

結果如下表,只列出部分:

Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls
netscreen.logs.dayid 1283904003 1284463504 10 10 0 0
netscreen.logs.recordid 1 138070 1 6 0 0
netscreen.logs.elapsed 0 0 1 1 89099 0
netscreen.logs.timereceived 2010-09-08 00:00:03 2010-09-14 11:25:04 19 19 0 0
netscreen.logs.timegenerated 2010-09-08 15:09:00 2010-09-14 11:09:59 19 19 0 0
netscreen.logs.originaladdr 192.168.2.37 192.168.2.37 12 12 0 0
Avg_value_or_avg_length Std Optimal_fieldtype
1284031444.1070 0.0000 INT(10) UNSIGNED NOT NULL
69715.3704 78711.1853 MEDIUMINT(6) UNSIGNED NOT NULL
0.0000 0.0000 ENUM('0') NOT NULL
19.0000 NULL DATETIME NOT NULL
19.0000 NULL DATETIME NOT NULL
12.0000 NULL ENUM('192.168.2.37') NOT NULL

使用SHOW TABLE

這近同事教我一個方法:

SHOW TABLE STATUS;

SHOW TABLE STATUS WHERE name='table-name';

SHOW TABLE STATUS WHERE name like '%table-name%';

例如我有兩個表 `logs`, `summary` ,下達 SHOW TABLE STATUS;  結果如下:

Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free
logs MyISAM 10 Dynamic 89026 172 15314668 281474976710655 1058816 0
summary MyISAM 10 Dynamic 2 40 80 281474976710655 2048 0
Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
NULL 2010-09-08 15:46:16 2010-09-14 10:58:23 NULL utf8_bin NULL    
NULL 2010-09-09 11:12:35 2010-09-14 10:58:23 NULL utf8_bin NULL    

列出表格中的詳細情況

當然,簡單版的用desc,可以列出表格中的欄位情況:

desc `tablename`;

Field Type Null Key Default Extra
dayid int(11) NO   NULL

 

recordid int(11) NO PRI NULL  

上面也可以改用下面的語法,結果是一樣的

show columns from `tablename`;

explain `tablename`;

列出建立的SQL語法

SHOW create table `tablename`;

只列出欄名

 如果只想列出欄位名稱,可用一個可特別的語法,說起來沒什麼邏輯

SELECT column_name FROM information_schema.columns WHERE  table_name = 'mytable'   AND table_schema = 'mydatabase';

參考資料

[1] http://stackoverflow.com/questions/5525970/mysql-show-columns-but-exclude-everything-except-the-field-names


編修原文 2010-09-14 10:51:16  

END

你可能感興趣的文章

[Mysql/Mariadb] 建立使用者及資料庫 Mysql/Mariadb建立使用者、刪除使用者、給予權限、建立資料庫

[Mysql] 修改資料庫預設校對或編碼 修改資料庫預設校對或編碼的方法

[Mysql] 修改欄位的自動索引值autoindex (auto_increment ) Mysql 新增、刪除、修改、查看欄位的自動索引值autoindex (auto_increment)

[MYSQL] 查看資料表狀態 要看資料表的狀態,不是結構喔,以前我都會用 procedure analyse(): SELECT `colname`

[phpmyadmin] 登錄超時 (1440 秒未操作),請重新登錄 phpmyadmin登錄超時 (1440 秒未操作),請重新登錄的問題,該如何解決?

[Mysql] Mysqldump 的預設編碼 --default-character-set 有時Mysqldump 也得要指定編碼才不會造成匯出的亂碼

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

詭異的創業思維 創業的思維中,有多少銀彈,有多少技術,有多少人脈,有多少時間等等,每個都要考慮進去,以熱忱建立的關係脆弱的像蘇打餅乾一樣..

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.

精讚::