快速从数据库中直接获取数据字典
2016-11-24 10:47
543 查看
2016年11月4号,我第一天上班,快下班的时候,老大让我做出数据字典。在那之前,我可是只会powerdesigner导出数据字典啊。然后他告诉我,可以写个小的php程序实现,没有思路的自己回去抱家里大神的大腿,大神刷刷的百度看看,就写出来了。内心简直就在呼喊:“我什么时候也是这样就好了!!!”不过后来悲剧的事情发生了,数据库代码里面没有字段意思,后来老大让我手动补齐中文,花了我一天半啊
,ctr+f
ctr+c ctr+v。我发誓发奋图强啊
,我不要总是这样ctr+f ctr+c ctr+v。我要做大神,定个小目标,先挣它一个亿,哈哈哈
(以上均为小菜鸟程序媛的自诉,大神勿喷)
一下为实现的整个代码:
说白了,也就是对information_schema的查询操作,然后循环显示而已。
以下为最后的成果截图,本身为html文件,但是可以保存为doc嘛!
,ctr+f
ctr+c ctr+v。我发誓发奋图强啊
,我不要总是这样ctr+f ctr+c ctr+v。我要做大神,定个小目标,先挣它一个亿,哈哈哈
(以上均为小菜鸟程序媛的自诉,大神勿喷)
一下为实现的整个代码:
说白了,也就是对information_schema的查询操作,然后循环显示而已。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格式导出</title> <style type="text/css"> table.gridtable{ font-family:微软雅黑; font-size:12px; width:100%; color:#333333; border-width:1px; border-color:#666666; border-collapse:collapse; } table.gridtable th{ border-width:1px; padding:10px; border-style:solid; border-color:#666666; background-color:#dedede; } table.gridtable td{ border-width:1px; padding:10px; border-style:solid; border-color:#666666; background-color:#ffffff; } </style> </head> <body> <?php $db = new mysqli('localhost','root','','coscia_erp88'); if(mysqli_connect_errno()) { echo "数据库连接失败";die; } $db->query('set names utf8'); $sql_tables = "SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'coscia_erp88'"; //查询表名及其备注 $ret_tables = $db->query($sql_tables); if(!$ret_tables) { echo '未查询到表单';die; } while($row_tables = mysqli_fetch_assoc($ret_tables)) { $currentTable = $row_tables['TABLE_NAME']; ?> <br> <p> <b>表名:<?php echo $row_tables['TABLE_NAME']?></b> <b>备注:<?php echo $row_tables['TABLE_COMMENT']?></b> </p> <?php $sql_column = "SELECT `COLUMN_NAME`, `COLUMN_TYPE`, `COLUMN_DEFAULT`, CASE`IS_NULLABLE` WHEN 'Yes' THEN '是' ELSE '否'END IS_NULLABLE, CASE `EXTRA` WHEN 'auto_increment' THEN '是' ELSE ' ' END EXTRA, `COLUMN_COMMENT` FROM information_schema.`COLUMNS` WHERE TABLE_NAME = '".$currentTable."' AND TABLE_SCHEMA = 'coscia_erp88'"; //查询每一张表的字段名,数据类型,默认值,是否允许为空,是否递增以及备注 $ret_column = $db->query($sql_column); if(!$ret_column) { echo '未查询到字段名等数据';die; } ?> <table class="gridtable"> <tr> <th>字段名</th> <th>数据类型</th> <th>默认值</th> <th>允许非空</th> <th>是否递增</th> <th>备注</th> </tr> <?php while($row_colunm = mysqli_fetch_assoc($ret_column)) { ?> <tr> <td><?php echo $row_colunm['COLUMN_NAME']?></td> <td><?php echo $row_colunm['COLUMN_TYPE']?></td> <td><?php echo $row_colunm['COLUMN_DEFAULT']?></td> <td><?php echo $row_colunm['IS_NULLABLE']?></td> <td><?php echo $row_colunm['EXTRA']?></td> <td><?php echo $row_colunm['COLUMN_COMMENT']?></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
以下为最后的成果截图,本身为html文件,但是可以保存为doc嘛!
相关文章推荐
- mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)
- VBA的力量 快速获取多个表格中的数据后导入到数据库(图文)
- bboss taglib直接指定数据库sql语句获取数据
- 直接获取Access、SQL Server等数据库数据
- VBA的力量 快速获取多个表格中的数据后导入到数据库(图文)
- [黑客技术][分享]直接获取access、SQL Server等数据库数据
- sqlserver 获取实例上用户数据库的数据字典
- [黑客技术][分享]直接获取access、SQL Server等数据库数据
- 快速建立数据字典我如此设计小型数据库
- 通过SQL语句获取MSSQL数据库的数据字典
- 直接获取数据库数据方法
- Navicat Premium快速导出数据库ER图和数据字典
- 直接获取access、SQL Server等数据库数据
- python mysql 插入的数据是字典时,可以直接插入到数据库,不要进行for循环读取每一个字段
- 如何快速建立数据字典,我如此设计小型数据库
- 通过百度地图API获取坐标并将数据存储在数据库内。
- 如何准确高效的获取数据库新插入数据的主键id
- 快速删除数据库中所有表中的数据
- php数据库操作——获取数据查询结果
- 大数据量下快速获取 SQL Server 数据库表记录数的方法