/**
* 生成mysql数据字典
*/
//配置数据库
$dbserver = "127.0.0.1";
$dbusername = "root";
$dbpassword = "root";
$database = "kuangjia";
//其他配置
$title = '数据字典';
$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 .= '
'. $v['TABLE_COMMENT'] . '
';$html .= '
$html .= '
' . $v['TABLE_NAME'] .' '. $v['TABLE_COMMENT']. '';$html .= '
字段名数据类型默认值允许非空自动递增备注';$html .= '';
foreach ($v['COLUMN'] AS $f) {
$html .= '
' . $f['COLUMN_NAME'] . '';$html .= '
' . $f['COLUMN_TYPE'] . '';$html .= '
' . $f['COLUMN_DEFAULT'] . '';$html .= '
' . $f['IS_NULLABLE'] . '';$html .= '
' . ($f['EXTRA']=='auto_increment'?'是':' ') . '';$html .= '
' . $f['COLUMN_COMMENT'] . '';$html .= '
';}
$html .= '
';}
//输出
echo '
'.$title.'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;}
.c1{ width: 120px;}
.c2{ width: 120px;}
.c3{ width: 70px;}
.c4{ width: 80px;}
.c5{ width: 80px;}
.c6{ width: 270px;}
echo '
'.$title.'
';echo $html;
echo '';
?>