1.windows系统下进入cmd窗口-->替换自己的路径,执行下面命令

findstr /s /i "carlist" D:\phpstudy_pro\WWW\wxx\*.*

2.php自动生成数据字典

<?php
// $t1 = microtime(true);
// 执行代码
// $t2 = microtime(true);
// echo '耗时:'.round($t2-$t1,3).'秒<br>';
// echo '内存: ' . round((memory_get_usage()/1024/1024),3) . 'M<br />';
/**
 * 生成mysql数据字典
 */
$t1 = microtime(true);
header("Content-type:text/html;charset=utf-8");
// 配置数据库
$database = array();
$database['DB_HOST'] = 'localhost';
$database['DB_NAME'] = '实际数据库名称';
$database['DB_USER'] = '实际数据库用户名';
$database['DB_PWD'] = '实际数据库密码';
$mysql_conn = @mysqli_connect("{$database['DB_HOST']}", "{$database['DB_USER']}", "{$database['DB_PWD']}") or die("Mysql connect is error.");
mysqli_select_db($mysql_conn,$database['DB_NAME'] );
$result = mysqli_query($mysql_conn,'show tables' );
mysqli_query($mysql_conn,"set names utf8");
// 取得所有表名
while ($row = mysqli_fetch_array($result))
{
    $tables[]['TABLE_NAME'] = $row[0];
}
// 循环取得所有表的备注及表中列消息
foreach($tables as $k => $v)
{
    $sql = 'SELECT * FROM ';
    $sql .= 'information_schema.TABLES ';
    $sql .= 'WHERE ';
    $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database['DB_NAME']}'";
    $table_result = mysqli_query($mysql_conn,$sql   );
    while ($t = mysqli_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['DB_NAME']}'";
    $fields = array();
    $field_result = mysqli_query($mysql_conn,$sql);
    while ($t = mysqli_fetch_array($field_result))
    {
        $fields[] = $t;
    }
    $tables[$k]['COLUMN'] = $fields;
}
mysqli_close($mysql_conn);
$html = '';
// 循环所有表
//print_r($tables);
foreach($tables as $k => $v)
{
    $html .= '<table border="1" cellspacing="0" cellpadding="0" align="center">';
    $html .= '<caption>表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '</caption>';
    $html .= '<tbody><tr><th>字段名</th><th>数据类型</th><th>默认值</th><th>允许非空</th><th>自动递增</th><th>备注</th></tr>';
    $html .= '';
    foreach($v['COLUMN'] AS $f)
    {
        $html .= '<td class="c1">' . $f['COLUMN_NAME'] . '</td>';
        $html .= '<td class="c2">' . $f['COLUMN_TYPE'] . '</td>';
        $html .= '<td class="c3">' . $f['COLUMN_DEFAULT'] . '</td>';
        $html .= '<td class="c4">' . $f['IS_NULLABLE'] . '</td>';
        $html .= '<td class="c5">' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '</td>';
        $html .= '<td class="c6">' . $f['COLUMN_COMMENT'] . '</td>';
        $html .= '</tr>';
    }
    $html .= '</tbody></table></p><br><br>';
}
/* 生成word */
//header ( "Content-type:application/vnd.ms-word" );
//header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}数据字典.doc" );
/* 生成excel*/
// header ( "Content-type:application/vnd.ms-excel" );
// header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}数据字典.xls" );
// 输出
echo '<html>
    <meta charset="utf-8">
    <title>自动生成数据字典</title>
    <style>
        body,td,th {font-family:"宋体"; font-size:12px;}  
        table,h1,p{width:960px;margin:0px auto;}
        table{border-collapse:collapse;border:1px solid #CCC;background:#efefef;}  
        table caption{text-align:left; line-height:2em; font-size:14px; font-weight:bold; }  
        table th{text-align:left; font-weight:bold;height:26px; line-height:26px; font-size:12px; border:1px solid #CCC;padding-left:5px;}  
        table td{height:20px; font-size:12px; border:1px solid #CCC;padding-left:5px;}  
        .c1{ width: 150px;}  
        .c2{ width: 150px;}  
        .c3{ width: 80px;}  
        .c4{ width: 100px;}  
        .c5{ width: 100px;}  
        .c6{ width: 300px;}
    </style>
    <body>';
echo '<h1 style="text-align:center;">'.$database['DB_NAME'].'数据字典</h1>';
echo '<p style="text-align:center;margin:20px auto;">生成时间:' . date('Y-m-d H:i:s') . '</p>';
echo $html;
echo '<p style="text-align:left;margin:20px auto;">总共:' . count($tables) . '个数据表</p>';
echo '</body></html>';
$t2 = microtime(true);
echo '耗时:'.round($t2-$t1,3).'秒<br>';
echo '内存: ' . round((memory_get_usage()/1024/1024),3) . 'M<br />';
?>

实测windows系统使用cmd搜索包含某个关键词的代码及PHP自动生成数据字典的更多相关文章

  1. Windows系统中CMD wmic查看硬盘、内存、CPU、BIOS、网卡等信息。(附带脚本)

    目录 Windows系统中CMD wmic查看硬盘.内存.CPU.BIOS.网卡等信息. 查看内存相关 查看内存主板数量(两条命令均可) 查看物理内存 查看逻辑内存 查看缓存 查看虚拟内存 查看网络相 ...

  2. 【vb.net机房收费系统】之没有包含要从继承的组件的已生成程序集 标签: vb.net继承 2015-05-02 15:19 1012人阅读

    在敲到组合查询这个功能的时候,需要用到窗体的继承,但是在新建继承窗体的时候,出现了错误(没有包含要从继承的组件的已生成程序集).如下图: 问题的产生:当时没怎么注意,也不知道怎么弄的,最后反正是继承上 ...

  3. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  4. python - 在Windows系统中安装Pygame及导入Eclipse

    环境:python3.6(只有一个版本)+ windows10(64 bit)  + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...

  5. Windows 系统判断MD5 值的办法

    Linux 系统的文件要传到Windows系统里面,传输过程中网络不稳定,为了判断文件是否完整传输,所以就用md5的方式判断是否同一个文件 Linux系统 [root@augusite ~]# md5 ...

  6. 关于DOS与cmd(windows系统)

    dos是计算机的最初期的操作系统,对电脑操作必须输入各种dos命令窗口,可以理解成运行计算机机器内部语言,知道编程吗?其实早期dos命令操作系统就是运行计算机内部的编程命令,因此操作人员都必须具有一定 ...

  7. Windows系统自带工具的 cmd 命令

    目标 与计算机高手无关,只是为了减少鼠标点击的次数,提高效率. 适用范围 Windows XP,Windows 7,Window 8 (在Windows 7 下验证通过.) 使用方法 在 “运行“ 对 ...

  8. MySQL数据库在WINDOWS系统CMD下的编码问题

    MySQL数据库在WINDOWS系统CMD下的编码问题 1. 查看MySQL数据库编码 * SHOW VARIABLES LIKE 'char%'; 2. 编码解释 * character_set_c ...

  9. 请问,如何在windows系统下面同时使用中文和英文的cmd?_百度知道

    请问,如何在windows系统下面同时使用中文和英文的cmd?_百度知道 在批处理开始加一行chcp 437就是英文的cmdchcp 936就是中文的cmd

  10. Windows 系统中的 CMD 黑窗口简单介绍

    简介 DOS是磁盘操作系统的缩写,是个人计算机上的一类操作系统DOS命令,是DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令.磁盘操作类命令.文件操作类命令和其它命令.DOS系统 ...

随机推荐

  1. k8s.HPA.使用自定义指标Pod自动扩容

    k8s.HPA.使用自定义指标Pod自动扩容 环境 env : kubernetes v1.22 metrics-server 0.6.1 prometheus v2.36.1 prometheus- ...

  2. How to Disable SELinux in Ubuntu Server/Desktop

    https://www.configserverfirewall.com/ubuntu-linux/disable-selinux-ubuntu/ In this tutorial I will ex ...

  3. pmml(模型标准化)

    PMML简介PMML全称预言模型标记模型(Predictive Model Markup Language),以XML 为载体呈现数据挖掘模型.PMML 允许您在不同的应用程序之间轻松共享预测分析模型 ...

  4. Anaconda中的Spyder软件设置为中文教程

     Anaconda中的Spyder软件设置为中文教程 第一步:工具栏中Tools --> Preferences 第二步:第二栏的 Application--> 第二个选项卡Advance ...

  5. FluentAssertions:C#单元测试断言库,让测试代码更加直观、易读!

    推荐一个C#开源库,用于单元测试中的断言,它提供了一系列的扩展方法,使得单元测试的断言看起来更加自然流畅. 01 项目简介 FluentAssertions 是一个基于 .NET 的断言库,它提供了一 ...

  6. [转]GMM:高斯混合模型讲义(台湾)

  7. 重温Go语法笔记 | 函数

    函数 返回值带有变量名 return时可以不写返回值,在返回值位置声明即可 func namedRetvalue() (a, b int) { a = 1 b = 2 return } 匿名函数 定义 ...

  8. CDS标准视图:维护项目数据 C_MaintenanceItemDEX

    视图名称:维护项目数据 C_MaintenanceItemDEX 视图类型:基础 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'CMAINTITEMDEX' @Aba ...

  9. Mongodb 基础与安装

    官网链接:https://docs.mongodb.com/ 参考链接:https://www.runoob.com/mongodb/mongodb-linux-install.html 1.什么是M ...

  10. flink基础教程

    随着大数据技术在各行各业的广泛应用,要求能对海量数据进行实时处理的需求越来越多,同时数据处理的业务逻辑也越来越复杂,传统的批处理方式和早期的流式处理框架也越来越难以在延迟性.吞吐量.容错能力以及使用便 ...