首頁 > 後端開發 > php教程 > 資料庫字典生成

資料庫字典生成

WBOY
發布: 2016-07-25 08:48:01
原創
1327 人瀏覽過
php產生mysql資料庫的資料字典
  1. /**
  2. * 產生mysql資料字典
  3. */
  4. header("Content-type: text/html; charset=utf-8");
  5. //設定資料庫
  6. $dbserver = "127.0.0.1";
  7. $dbusername = "root";
  8. $dbpassword = "";
  9. $database = "think_team";
  10. //其他設定
  11. $mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error.");
  12. mysql_select_db($data,select_db($data, $mysql_conn);
  13. mysql_query('SET NAMES utf8', $mysql_conn);
  14. $table_result = mysql_query('show tables', $mysql_conn);
  15. $no__table; /不需要顯示的表格
  16. $no_show_field = array(); //不需要顯示的欄位
  17. //取得所有的表名
  18. while($row = mysql_fetch_array($table_result)) {
  19. if(!in_array($row[0],$no_show_table)){
  20. $tables[]['TABLE_NAME'] = $row[0];
  21. }
  22. }
  23. //替換所以表的表前綴
  24. if($_GET['prefix']){
  25. $prefix = 'czzj';
  26. foreach($tables as $key => $val){
  27. $tableName = $val['TABLE_NAME'];
  28. $string = explode('_',$tableName);
  29. if($string[0] != $prefix){
  30. $string[ 0] = $prefix;
  31. $newTableName = implode('_', $string);
  32. mysql_query('rename table '.$tableName.' TO '.$newTableName);
  33. }
  34. }
  35. echo "替換成功! ";exit();
  36. }
  37. //循環取得所有表的備註及表中列訊息
  38. foreach ($tables as $k=>$v) {
  39. $sql = 'SELECT * FROM ';
  40. $sql .= 'INFORMATION_SCHEMA.TABLES ';
  41. $sql .= 'WHERE ';
  42. $sql .= "table_name = '{$v['TABLE_NAME'] }' AND table_schema = '{$database}'";
  43. $table_result = mysql_query($sql, $mysql_conn);
  44. while ($t = mysql_fetch_array($table_result) ) {
  45. $tables[$table_result) ) {
  46. $tables[$ k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];
  47. }
  48. $sql = 'SELECT * FROM ';
  49. $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
  50. $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
  51. $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
  52. $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
  53. $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
  54. $sql. > $sql .= 'WHERE ';
  55. $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database}'";
  56. $fields = array();
  57. $field_result = mysql_query($sql, $mysql_conn);
  58. while ($t = mysql_fetch_array($field_result) ) {
  59. $fields[] = $t;
  60. }
  61. $tables[$k]['COLUMN'] = $fields;
  62. }
  63. mysql_close($mysql_conn);
  64. $html = '';
  65. //循環所有表格
  66. foreach ($tables as $k=>$v) {
  67. $html .= '

    ' . ($k 1) . '、' . $v['TABLE_COMMENT'] . ' ('. $v['TABLE_NAME']. ')

    '."n";
  68. $html .= ' '."n";
  69. $html .= '
  70. '."n";
  71. $html .= '
  72. '."n";
  73. $ html .= '
  74. '."n";
  75. $html .= '
  76. '."n";
  77. $html .= '
  78. '."n";
  79. $html .= '
  80. '."n";
  81. $html .= '
  82. '."n";
  83. $html .= '
  84. '."n";
  85. $html .= '
  86. '."n ";
  87. foreach ($v['COLUMN'] as $f) {
  88. if(!is_array($no_show_field[$v['TABLE_NAME']])){
  89. $no_show_field['TABLE_NAME']])){
  90. $no_show_field['TABLE_NAME']])){
  91. $no_show_field['TABLE_NAME']])){
  92. $no_show_field[ $v['TABLE_NAME']] = array();
  93. }
  94. if(!in_array($f['COLUMN_NAME'],$no_show_field[$v['TABLE_NAME']])){
  95. $html .= '
  96. '."n";
  97. $html .= '
  98. '."n" ;
  99. $html .= '
  100. '."n";
  101. $html .= '
  102. '."n";
  103. $html .= '
  104. '."n";
  105. $html .= '
  106. '."n";
  107. $html .= '
  108. '."n"; $html .= ' '."n"; } } $html .= ' '."n"; $html . = '
    欄位名稱 資料型別 預設值 允許非空 自動遞增 備註
    ' . $f['COLUMN_NAME'] . ' ' . $f['COLUMN_TYPE'] . ' ' . $f['COLUMN_DEFAULT'] . ' ' . $f['IS_NULLABLE'] . ' ' . ($f['EXTRA']=='auto_increment'?'是':' ' ) . ' ' . $f['COLUMN_COMMENT'] . '
    '."n";}?>複製程式碼
    1. 騰速科技有限公司資料庫資料字典產生代碼
    2. 騰速科技有限公司資料庫資料字典產生程式碼

複製程式碼

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板