php生成mysql的数据字典
2016-08-15来源:

把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。

header('content-type:text/html;charset=utf-8');

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PASS','root');

define('DB_NAME','test');

define('DB_PORT',3306);

define('DB_CHAR','utf8');

define('APPNAME','');

$conn=mysql_connect(DB_HOST.':'.DB_PORT,DB_USER,DB_PASS);

mysql_select_db(DB_NAME);

mysql_query('set names ' . DB_CHAR);

$sql="SHOW TABLE STATUS FROM " . DB_NAME;

$result=mysql_query($sql);

$array=array();

while($rows=mysql_fetch_assoc($result)){

$array[]=$rows;

}

// table count

$tab_count = count($array);

echo '

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

'.APPNAME.'--数据字典

'.APPNAME.'--数据字典

(注:共'.$tab_count.'张表,按ctrl+F查找关键字)
'."\n";

for($i=0;$i<$tab_count;$i++){

echo '

    '."\n";

    echo '

  • ';

    echo ($i+1).'、表名:[' . $array[$i]['Name'] . '] 注释:' . $array[$i]['Comment'];

    echo '

  • '."\n";

    //查询数据库字段信息

    $tab_name = $array[$i]['Name'];

    $sql_tab='show full fields from `' . $array[$i]['Name'].'`';

    $tab_result=mysql_query($sql_tab);

    $tab_array=array();

    while($r=mysql_fetch_assoc($tab_result)){

    $tab_array[]=$r;

    }

    //show keys

    $keys_result=mysql_query("show keys from `".$array[$i]['Name'].'`',$conn);

    $arr_keys=mysql_fetch_array($keys_result);

    echo '

  • ';

    echo '

    ';

    for($j=0;$j

    $key_name=$arr_keys['Key_name'];

    if($key_name="PRIMARY"){

    $key_name='主键('.$key_name.')';

    }

    $key_field=$arr_keys['Column_name'];

    if ( $tab_array[$j]['Field']==$key_field){

    $key_value="PK";

    }else{

    $key_value="";

    }

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    echo '

    '."\n";

    }

    echo '

    字段 类型 为空 额外 默认 整理 备注
    ' . $tab_array[$j]['Field'] . ' ' . $tab_array[$j]['Type'] . ' ' . ($key_value!=''?$key_value:$tab_array[$j]['Null']) . ' ' . $tab_array[$j]['Extra'] . ' ' . $tab_array[$j]['Default'] . ' ' . $tab_array[$j]['Collation'] . ' ' . ($key_value!=''?$key_name:$tab_array[$j]['Comment']) . '
  • '."\n";

    echo '

'."\n";

}

echo '

Baidu
map
'."\n";

echo ''."\n";

以上就是本文的全部内容,希望对大家的学习有所帮助.

推荐信息
Baidu
map