生成MySQL数据字典的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 ''; ?>

你可能感兴趣的:(PHP,MySQL)