首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句:
1 SHOW DATABASES //列出 MySQL Server 数据库。 2 SHOW TABLES [FROM db_name] //列出数据库数据表。 3 SHOW CREATE TABLES tbl_name //导出数据表结构。 4 SHOW TABLE STATUS [FROM db_name] //列出数据表及表状态信息。 5 SHOW COLUMNS FROM tbl_name [FROM db_name] //列出资料表字段 6 SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。 7 SHOW FULL COLUMNS FROM tbl_name [FROM db_name]//列出字段及详情 8 SHOW FULL FIELDS FROM tbl_name [FROM db_name] //列出字段完整属性 9 SHOW INDEX FROM tbl_name [FROM db_name] //列出表索引。 10 SHOW STATUS //列出 DB Server 状态。 11 SHOW VARIABLES //列出 MySQL 系统环境变量。 12 SHOW PROCESSLIST //列出执行命令。 13 SHOW GRANTS FOR user //列出某用户权限
由上述SQL语句可以看到,我们可以使用SHOW FULL COLUMNS来列出字段及详情信息,示例代码:
1 $rescolumns = mysql_query("SHOW FULL COLUMNS FROM ".TB_NAME."") ; 2 while($row = mysql_fetch_array($rescolumns)){ 3 // echo '字段名称:'.$row['Field'].'-数据类型:'.$row['Type'].'-注释:'.$row['Comment']; 4 // echo '<br/><br/>'; 5 print_r($row); 6 }
打印结果:
Array ( [0] => id [Field] => id [1] => char(2) [Type] => char(2) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => NO [Null] => NO [4] => PRI [Key] => PRI [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => [Comment] => )
Array ( [0] => title [Field] => title [1] => char(50) [Type] => char(50) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => YES [Null] => YES [4] => [Key] => [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => 建议存储:标题、姓名等信息 [Comment] => 建议存储:标题、姓名等信息 )
Array ( [0] => des [Field] => des [1] => varchar(255) [Type] => varchar(255) [2] => utf8_general_ci [Collation] => utf8_general_ci [3] => YES [Null] => YES [4] => [Key] => [5] => [Default] => [6] => [Extra] => [7] => select,insert,update,references [Privileges] => select,insert,update,references [8] => [Comment] => )
…………