rinald_未来往事

php获取mysql字段名称及其详细信息

PHP

首先我们需要了解下查询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] => )
…………

补充说明信息:
当然你也可以通过mysql_list_fields — 列出 MySQL 结果中的字段。mysql_list_fields() 取得给定表名的信息,参数是数据库名和表名,返回一个结果指针。
但是,mysql_list_fields() 函数已过时。最好用 mysql_query() 来发出一条 SHOW COLUMNS FROM table [LIKE ‘name’] 的 SQL 语句来代替。详细可参考PHP帮助文档:PHP: mysql_list_fields - Manua

原文作者:rinald
原文地址:http://fity.cn/post/450.html
互联网技术更新较快,本站很多文章具有实效性,我会及时更新原文,但转载的文章无法通知更新。为了不给读者造成困惑或误导,请您在转载时保留此出处信息,尊重别人也是尊重自己。

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。