把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。
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
|
<?php 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 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" lang= "en" xml:lang= "zh" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title> '.APPNAME.' --数据字典</title> <style type= "text/css" > table caption, table th, table td { padding: 0.1em 0.5em 0.1em 0.5em; margin: 0.1em; vertical-align: top; } th { font-weight: bold; color: black; background: #D3DCE3; } table tr.odd th, .odd { background: #E5E5E5; } table tr.even th, .even { background: #f3f3f3; } .db_table{ border-top:1px solid #333; } .title{font-weight:bold;} </style> </head> <body> <div style= "text-align:center;background:#D3DCE3;font-size:19px;" > <b> '.APPNAME.' --数据字典</b> </div> <div style= "background:#f3f3f3;text-align:center;" >(注:共 '.$tab_count.' 张表,按ctrl+F查找关键字)</div>'. "\n" ; for ( $i =0; $i < $tab_count ; $i ++){ echo '<ul type="square">' . "\n" ; echo ' <li class="title">' ; echo ( $i +1). '、表名:[' . $array [ $i ][ 'Name' ] . '] 注释:' . $array [ $i ][ 'Comment' ]; echo '</li>' . "\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 '<li style="list-style: none outside none;"><table border="0" class="db_table" >' ; echo '<tr class = "head" > <th style= "width:110px" >字段</th> <th>类型</th> <th>为空</th> <th>额外</th> <th>默认</th> <th style= "width:95px" >整理</th> <th>备注</th></tr>'; for ( $j =0; $j < count ( $tab_array ); $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 ' <tr class="' .( $j %2==0?"odd ":" even ").'" >'. "\n" ; echo ' <td>' . $tab_array [ $j ][ 'Field' ] . '</td>' . "\n" ; echo ' <td>' . $tab_array [ $j ][ 'Type' ] . '</td>' . "\n" ; echo ' <td>' . ( $key_value != '' ? $key_value : $tab_array [ $j ][ 'Null' ]) . '</td>' . "\n" ; echo ' <td>' . $tab_array [ $j ][ 'Extra' ] . '</td>' . "\n" ; echo ' <td>' . $tab_array [ $j ][ 'Default' ] . '</td>' . "\n" ; echo ' <td>' . $tab_array [ $j ][ 'Collation' ] . '</td>' . "\n" ; echo ' <td>' . ( $key_value != '' ? $key_name : $tab_array [ $j ][ 'Comment' ]) . '</td>' . "\n" ; echo ' </tr>' . "\n" ; } echo ' </table></li>' . "\n" ; echo '</ul>' . "\n" ; } echo '</body>' . "\n" ; echo '</html>' . "\n" ; |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。