>백엔드 개발 >PHP 튜토리얼 >데이터베이스 사전 생성

데이터베이스 사전 생성

WBOY
WBOY원래의
2016-07-25 08:48:011339검색
PHP는 mysql 데이터베이스에 대한 데이터 사전을 생성합니다.
  1. /**
  2. * mysql 데이터 사전 생성
  3. */
  4. header("콘텐츠 유형: 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") 또는 die("Mysql 연결에 오류가 있습니다.");
  12. mysql_select_db($database , $mysql_conn);
  13. mysql_query('SET NAMES utf8', $mysql_conn);
  14. $table_result = mysql_query('show tables', $mysql_conn);
  15. $no_show_table = array(); //표시할 필요가 없는 테이블
  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 = 폭발('_',$tableName);
  29. if($string[0] != $prefix ){
  30. $ string[0] = $prefix;
  31. $newTableName = implode('_', $string)
  32. mysql_query('테이블 이름 바꾸기 '.$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[ $k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];
  46. }
  47. $sql = 'SELECT * FROM';
  48. $sql .= 'INFORMATION_SCHEMA.COLUMNS';
  49. $sql .= 'WHERE';
  50. $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database}'";
  51. $fields = array();
  52. $field_result = mysql_query($sql, $mysql_conn);
  53. while ($t = mysql_fetch_array($field_result) ) {
  54. $fields[] = $t;
  55. }
  56. $tables[$k]['COLUMN'] = $fields;
  57. }
  58. mysql_close($mysql_conn);
  59. $html = '';
  60. / /모든 테이블을 반복합니다
  61. foreach ($k=>$v) {
  62. $html .= '

    ' ', ' $v[' TABLE_COMMENT '] .' ('.$v['TABLE_NAME'].')

    '."n";
  63. $html .= ' '."n";
  64. $html .= '
  65. '."n";
  66. $html .= '
  67. ' . "n";
  68. $html .= ' 필드 이름'."n";
  69. $html .= ' 데이터 유형'. n";
  70. $html .= '
  71. '."n";
  72. $html .= '
  73. ' n";
  74. $html .= '
  75. '."n";
  76. $html .= '
  77. '. "n" ;
  78. $html .= '
  79. '."n";
  80. foreach ($v['COLUMN'] as $f) {
  81. if(!is_array ($no_show_field [$v['TABLE_NAME']])){
  82. $no_show_field[$v['TABLE_NAME']] = array();
  83. }
  84. if(!in_array($f[' COLUMN_NAME'] ,$no_show_field[$v['TABLE_NAME']])){
  85. $html .= '
  86. '."n";
  87. $html .= '
  88. '."n";
  89. $html .= '
  90. '."n";
  91. $ html .= '
  92. ' 🎜> $html .= ' '."n";
  93. $html .= ' '."n";
  94. }
  95. }
  96. $html .= '
  97. '."n";
  98. $html .= ' }
  99. ?>
  100. 코드 복사
    1. Tengsu Technology Co., Ltd. 데이터베이스 데이터 사전 생성 코드
    2. Tengsu Technology Co., Ltd. 데이터베이스 데이터 사전 생성 코드

    3. < ;/div>
    4. 코드 복사
  101. 기본값 비어 있지 않은 것이 허용됩니다 자동 증가 설명
    '."n";
  102. $html .= '
  103. ' . ' ' . $f['COLUMN_DEFAULT'] '. n";
  104. $html .= '
  105. ' . $f['IS_NULLABLE'] . ' ' . ($f['EXTRA']=='auto_increment'?'is':' ') '' . $f['COLUMN_COMMENT'] '
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.