PHP generates data dictionary for mysql database
- /**
- * Generate mysql data dictionary
- */
- header("Content-type: text/html; charset=utf-8");
- //Configure database
- $dbserver = "127.0.0.1 ";
- $dbusername = "root";
- $dbpassword = "";
- $database = "think_team";
- //Other configurations
- $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(); //Tables that do not need to be displayed
- $no_show_field = array(); //Fields that do not need to be displayed
- //Get all table names
- while($row = mysql_fetch_array ($table_result)){
- if(!in_array($row[0],$no_show_table)){
- $tables[]['TABLE_NAME'] = $row[0];
- }
- }
- //Replace all tables Table prefix
- 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 "Replacement successful! ";exit();
- }
-
- //Loop to obtain the notes and column messages of all tables
- 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 = '';
- //Loop all tables
- foreach ($tables as $k=>$v) {
- $html .= '
' . ($k + 1) . ', ' . $v['TABLE_COMMENT'] .' ('. $v['TABLE_NAME' ]. ')'."n";
- $html .= '
'." n";
- $html .= ' '."n";
- $html .= '
'."n";
- $html .= '
Field name th>'."n";
- $html .= '
Data type | '."n";
- $html .= '
Default value | '. "n";
- $html .= '
Allow non-null | '."n";
- $html .= '
Auto-increment | '."n" ;
- $html .= '
Remarks | '."n";
- $html .= '
| '."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 .= '
'."n";
- $html .= '
' . $f['COLUMN_NAME'] . ' | '."n";
- $html .= '
' . $f['COLUMN_TYPE '] . ' | '."n";
- $html .= '
' . $f['COLUMN_DEFAULT'] . ' | '." n";
- $html .= '
' . $f['IS_NULLABLE'] . ' | '."n";
- $html .= '
' . ($f['EXTRA']=='auto_increment'?'is':' ') . ' | '."n";
- $html .= '
' . $f['COLUMN_COMMENT'] . ' | '."n";
- $html .= '
'."n";
- }
- }
- $html .= '
'."n";
- $html .= '
'."n";
- }
- ?>
Copy code
- Tengsu Technology Co., Ltd. database data dictionary generation code< /title>
- body, td, th { font-family: "Microsoft Yahei"; 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 #CCC; background: #efefef; }
- table th { text-align: left; font-weight: bold; height: 26px; line-height: 26px; font-size: 14px; text- align:center; border: 1px solid #CCC; padding:5px;}
- table td { height: 20px; font-size: 14px; border: 1px solid #CCC; background-color: #fff; padding:5px;}
- .c1 { width: 120px; }
- .c2 { width: 120px; }
- .c3 { width: 150px; }
- .c4 { width: 80px; text-align:center;}
- .c5 { width: 80px; text -align:center;}
- .c6 { width: 270px; }
-
Tengsu Technology Co., Ltd. database data dictionary generation code
- < ;/html>
Copy code
|