1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| <?php
header("Content-type: text/html; charset=utf-8");
$dbserver = "数据库地址:端口"; $dbusername = "root"; $dbpassword = "password"; $database = "root";
$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);
$no_show_table = array(); $no_show_field = array();
while($row = mysql_fetch_array($table_result)){ if(!in_array($row[0],$no_show_table)){ $tables[]['TABLE_NAME'] = $row[0]; } }
if(@$_GET['prefix']){ $prefix = 'czzj'; foreach($tables as $key => $val){ $tableName = $val['TABLE_NAME']; $string = explode('_',$tableName); if($string[0] != $prefix){ $string[0] = $prefix; $newTableName = implode('_', $string); mysql_query('rename table '.$tableName.' TO '.$newTableName); } } echo "替换成功!";exit(); }
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);
if(@$_GET[id]!='') { $file = iconv("utf-8", "GBK", "test"); header("Content-Type: application/doc"); header("Content-Disposition: attachment; filename=" . $file . ".doc"); echo $html; }
$html = '';
foreach ($tables as $k=>$v) { $html .= ' <h3>' . ($k + 1) . '、' . $v['TABLE_COMMENT'] .' ('. $v['TABLE_NAME']. ')</h3>'."\n"; $html .= ' <table border="1" cellspacing="0" cellpadding="0" width="100%">'."\n"; $html .= ' <tbody>'."\n"; $html .= ' <tr>'."\n"; $html .= ' <th>字段名</th>'."\n"; $html .= ' <th>数据类型</th>'."\n"; $html .= ' <th>允许非空</th>'."\n"; $html .= ' <th>主外键</th>'."\n"; $html .= ' <th>备注</th>'."\n"; $html .= ' </tr>'."\n";
foreach ($v['COLUMN'] as $f) { if(@!is_array($no_show_field[$v['TABLE_NAME']])){ $no_show_field[$v['TABLE_NAME']] = array(); } if(!in_array($f['COLUMN_NAME'],$no_show_field[$v['TABLE_NAME']])){ $html .= ' <tr>'."\n"; $html .= ' <td class="c1">' . $f['COLUMN_NAME'] . '</td>'."\n"; $html .= ' <td class="c2">' . $f['COLUMN_TYPE'] . '</td>'."\n"; $html .= ' <td class="c4">' . $f['IS_NULLABLE'] . '</td>'."\n"; $html .= ' <td class="c5">' . $f['COLUMN_KEY'] . '</td>'."\n"; $html .= ' <td class="c7">' . $f['COLUMN_COMMENT'] . '</td>'."\n"; $html .= ' </tr>'."\n"; } } $html .= ' </tbody>'."\n"; $html .= ' </table>'."\n"; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>数据库表结构</title> <meta name="generator" content="ThinkDb V1.0" /> <meta name="author" content="" /> <meta name="copyright" content="2008-2014 Tensent Inc." /> <style> body, td, th { font-family: "微软雅黑"; font-size: 14px; } .warp{margin:auto; width:900px;} .warp h3{margin:0px; padding:0px; line-height:30px; margin-top:10px;} table { border-collapse: collapse; border: 1px solid table th { text-align: left; font-weight: bold; height: 26px; line-height: 26px; font-size: 14px; text-align:center; border: 1px solid table td { height: 20px; font-size: 14px; border: 1px solid .c1 { width: 120px; } .c2 { width: 120px; } .c3 { width: 150px; } .c4 { width: 80px; text-align:center;} .c5 { width: 80px; text-align:center;} .c6 { width: 80px; } .c7 { width: 190px; } </style> </head> <body> <div class="warp"> <h1 style="text-align:center;">数据库表结构</h1> <a href="#"><p onclick="window.location.href='test.php?id=2'">点击跳到下载页面</p></a> <?php echo $html //防止导出乱码
?> </div> </body> </html>
|