PHP获取mysql数据表的字段名称和详细信息的方法


Posted in PHP onSeptember 27, 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帮助文档:PHP: mysql_list_fields - Manua

PHP 相关文章推荐
php mssql 日期出现中文字符的解决方法
Mar 10 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
php中使用sftp教程
Mar 30 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
php+ajax实现文件切割上传功能示例
Mar 03 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 #PHP
PHP会话控制:Session与Cookie详解
Sep 27 #PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 #PHP
php实现获取及设置用户访问页面语言类
Sep 24 #PHP
php实现的zip文件内容比较类
Sep 24 #PHP
php导出CSV抽象类实例
Sep 24 #PHP
php实现的双向队列类实例
Sep 24 #PHP
You might like
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
用文本作数据处理
2006/10/09 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
谈谈JS中的!!
2017/12/07 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python实现壁纸批量下载代码实例
2018/01/25 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
Python中按值来获取指定的键
2019/03/04 Python
numpy.where() 用法详解
2019/05/27 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
python实现批量命名照片
2020/06/18 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
九一八事变演讲稿范文
2014/09/14 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
Java Spring Lifecycle的使用
2022/05/06 Java/Android
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers