php获取mysql字段名称和其它信息的例子


Posted in PHP onApril 14, 2014

首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句:

SHOW DATABASES                                //列出 MySQL Server 数据库。
SHOW TABLES [FROM db_name]                    //列出数据库数据表。
SHOW CREATE TABLES tbl_name                    //导出数据表结构。
SHOW TABLE STATUS [FROM db_name]              //列出数据表及表状态信息。
SHOW COLUMNS FROM tbl_name [FROM db_name]     //列出资料表字段
SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。
SHOW FULL COLUMNS FROM tbl_name [FROM db_name]//列出字段及详情
SHOW FULL FIELDS FROM tbl_name [FROM db_name] //列出字段完整属性
SHOW INDEX FROM tbl_name [FROM db_name]       //列出表索引。
SHOW STATUS                                  //列出 DB Server 状态。
SHOW VARIABLES                               //列出 MySQL 系统环境变量。
SHOW PROCESSLIST                             //列出执行命令。
SHOW GRANTS FOR user                         //列出某用户权限

由上述SQL语句可以看到,我们可以使用SHOW FULL COLUMNS来列出字段及详情信息,示例代码:
$rescolumns = mysql_query("SHOW FULL COLUMNS FROM ".TB_NAME."") ;
while($row = mysql_fetch_array($rescolumns)){
//  echo '字段名称:'.$row['Field'].'-数据类型:'.$row['Type'].'-注释:'.$row['Comment'];
//  echo '<br/><br/>';
  print_r($row);
}

打印结果:

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帮助文档:http://www.php.net/manual/zh/function.mysql-list-fields.php
PHP 相关文章推荐
Access数据库导入Mysql的方法之一
Oct 09 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php实现计数器方法小结
Jan 05 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 #PHP
PHP删除数组中空值的方法介绍
Apr 14 #PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 #PHP
thinkphp实现数组分页示例
Apr 13 #PHP
不使用php api函数实现数组的交换排序示例
Apr 13 #PHP
php读取大文件示例分享(文件操作类)
Apr 13 #PHP
php使用smtp发送支持附件的邮件示例
Apr 13 #PHP
You might like
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
laravel学习教程之关联模型
2016/07/30 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
JS实现点击下载的小例子
2013/07/10 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
javascript截取字符串小结
2015/04/28 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
python访问纯真IP数据库的代码
2011/05/19 Python
Python threading多线程编程实例
2014/09/18 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
Python map及filter函数使用方法解析
2020/08/06 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
校园歌咏比赛主持词
2014/03/18 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
小学校长开学致辞
2015/07/29 职场文书
Python进度条的使用
2021/05/17 Python
mysql的数据压缩性能对比详情
2021/11/07 MySQL
浅谈Vue的computed计算属性
2022/03/21 Vue.js
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL