php查询mysql表中所有字段详细信息
本文发布于 12 年前, 内容可能已经过时或失效!
有时需要把整个字段的结构信息查询出来,于是我们可以通过
//列出字段及详情
SHOW FULL COLUMNS FROM tbl_name [FROM db_name]
然后通过 mysql_fetch_array() 函数就可以了,但是单独这样的话,只会显示第一个字段的详细信息,我们需要统计出字段数量,然后分别循环出来(一开始我就这样,一直找不到原因,只能查出第一个字段,灰常郁闷!)
下面是实现代码:
// 连接数据库
$db = mysql_connect ( 'localhost', 'root', 'root' ) or die ( "数据库连接失败." );
// 选择使用哪个数据库,这里是 test
mysql_select_db ( 'test', $db ) or die ( "无法打开数据库" );
// 数据库编码方式
mysql_query ( 'SET NAMES utf8' );
// 选择表名
$table = 'test';
// 查找所有字段信息
$sqlColumns = mysql_query ( "SHOW FULL COLUMNS FROM $table", $db ) or die ( "错误或该表不存在" );
// 统计字段总数
$columnNum = mysql_num_rows ( $sqlColumns );
$i = 0;
// 循环每个字段
while ( $i < $columnNum ) {
// 获取每个字段信息信息
$colname = mysql_fetch_array ( $sqlColumns );
// 答应详细字段信息
print_r ( $colname );
$i ++;
}
下面是相关的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 //列出某用户权限