Home  >  Article  >  php教程  >  php生成mysql数据库数据字典

php生成mysql数据库数据字典

WBOY
WBOYOriginal
2016-06-13 08:52:35985browse

php生成mysql数据库数据字典

php生成mysql数据库数据字典的程序代码,比较实用,具体代码如下:

<?php
header('Content-type:text/html;charset=utf-8');
/**
 * 生成mysql数据字典
 *
 * @author www.phpernote.com<403656085@qq.com>
 */
//配置数据库
$dbserver="localhost";
$dbusername="root";
$dbpassword="root";
$database='test';
//其他配置
$title=$database.' 数据库数据字典';
$mysql_conn=@mysql_connect("$dbserver","$dbusername","$dbpassword") or die("Mysql connect is error.");
mysql_select_db($database,$mysql_conn);
mysql_query('SET NAMES utf8',$mysql_conn);
$table_result=mysql_query('show tables',$mysql_conn);
//取得所有的表名
while($row=mysql_fetch_array($table_result)){
    $tables[]['TABLE_NAME']=$row[0];
}
//循环取得所有表的备注
foreach ($tables AS $k=>$v){
    $sql='SELECT * FROM ';
    $sql.='INFORMATION_SCHEMA.TABLES ';
    $sql.='WHERE ';
    $sql.="table_name='{$v['TABLE_NAME']}'  AND table_schema='{$database}'";
    $table_result=mysql_query($sql,$mysql_conn);
    while($t=mysql_fetch_array($table_result)){
        $tables[$k]['TABLE_COMMENT']=$t['TABLE_COMMENT'];
    }
    $sql='SELECT * FROM ';
    $sql.='INFORMATION_SCHEMA.COLUMNS ';
    $sql.='WHERE ';
    $sql.="table_name='{$v['TABLE_NAME']}' AND table_schema='{$database}'";
    $fields=array();
    $field_result=mysql_query($sql,$mysql_conn);
    while($t=mysql_fetch_array($field_result)){
        $fields[]=$t;
    }
    $tables[$k]['COLUMN']=$fields;
}
mysql_close($mysql_conn);
$html='';
//循环所有表
foreach($tables AS $k=>$v){
    $html.='<table  border="1" cellspacing="0" cellpadding="0" align="center">';
    $html.='<caption>'.$v['TABLE_COMMENT'].'(<span class="cr">'. $v['TABLE_NAME'].'</span>)</caption>';
    $html.='<tbody><tr><th width="120">字段名</th><th width="120">数据类型</th><th width="120">默认值</th>
    <th width="65">允许非空</th>
    <th width="360">备注</th></tr>';
    $html.='';
    foreach($v['COLUMN'] AS $f){
        $html.='<tr><td>'.$f['COLUMN_NAME'].'</td>';
        $html.='<td>'.$f['COLUMN_TYPE'].'</td>';
        $html.='<td>'.$f['COLUMN_DEFAULT'].'</td>';
        $html.='<td>'.$f['IS_NULLABLE'].'</td>';
        $html.='<td>'.$f['COLUMN_COMMENT'].($f['EXTRA']=='auto_increment'?',自动递增':'').'</td>';
        $html.='</tr>';
    }
    $html.='</tbody></table></p>';
}
//输出
echo '<html>
<head>
<title>'.$title.'</title>
<style>
body,td,th{font-family:"宋体"; font-size:12px;}
table{border-collapse:collapse;border:1px solid #CCC;background:#efefef;}
table caption{text-align:left; background-color:#fff; line-height:2em; font-size:14px; font-weight:bold; }
table th{text-align:left; font-weight:bold;height:26px; line-height:26px; font-size:12px; border:1px solid #CCC;}
table td{height:20px; font-size:12px; border:1px solid #CCC;background-color:#fff;}
table caption,table td,table th{padding:0px 3px;}
#version{text-align:center;margin:0 auto;}
.cr{color:#ff0033;}
</style>
</head>
<body>';
echo '<h1>'.$title.'</h1>';
echo $html;
$version='<p id="version">made by <a href="http://www.phpernote.com" target="_blank">www.phpernote.com</a></p>';
echo '<p> </p>'.$version.'<p> </p></body></html>';

生成结果页面如下图:

您可能感兴趣的文章

  • 合理使用MySQL数据库索引以使数据库高效运行
  • php利用session_set_save_handler()函数将session保存到MySQL数据库中
  • 忘记PHPnow的MySQL数据库密码的解决办法
  • 总结MySQL数据库服务器逐渐变慢的原因和解决办法
  • php利用array_flip实现数组键值交换去除数组重复值
  • php mysql数据库操作类
  • 在php中分别使用curl的post提交数据的方法和get获取网页数据的方法总结
  • 关于修改mysql数据库字符集的方法
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn