日期:2011-06-25  浏览次数:20780 次

有时候我们拿到别人的数据库,却没有数据字典,这个php小程序帮你轻松解决。

代码是网上找到的,当然,这段代码也仅仅是生成了数据字典,视图,存储过程等等是木有的哦。

$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 .= "

". $v["TABLE_COMMENT"] . "

"; $html .= ""; $html .= ""; $html .= ""; $html .= ""; foreach ($v["COLUMN"] AS $f) { $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; } $html .= "
" . $v["TABLE_NAME"] ." ". $v["TABLE_COMMENT"]. "
字段名数据类型默认值 允许非空 自动递增备注
" . $f["COLUMN_NAME"] . "" . $f["COLUMN_TYPE"] . " " . $f["COLUMN_DEFAULT"] . " " . $f["IS_NULLABLE"] . "" . ($f["EXTRA"]=="auto_increment"?"是":" ") . " " . $f["COLUMN_COMMENT"] . "

"; } //输出 echo " ".$title." "; echo "

".$title."

"; echo $html; echo ""; ?>


运行后的结果: