精华内容
下载资源
问答
  • TABLE_SCHEMA as '数据库名称', TABLE_NAME as '表名', COLUMN_NAME as '字段名', COLUMN_TYPE as '字段类型', IS_NULLABLE as '是否空', COLUMN_DEFAULT as '默认值', (CASE COLUMN_KEY WHEN...

    在Navicat中新建查询,执行如下SQL语句即可:

    SELECT
    	TABLE_SCHEMA as '数据库名称',
    	TABLE_NAME as '表名',
    	COLUMN_NAME as '字段名',
    	COLUMN_TYPE as '字段类型',
    	IS_NULLABLE as '是否空',
    	COLUMN_DEFAULT as '默认值',
    	(CASE COLUMN_KEY
    	WHEN 'PRI' THEN
    		'主键'
    	WHEN 'UNI' THEN
    		'唯一'
    	WHEN 'MUL' THEN
    		'非唯一'
    	ELSE
    		''
        END) as '字段约束类型',
    	EXTRA as '字段自增',
    	COLUMN_COMMENT as '字段注释'
    FROM
    	information_schema.COLUMNS
    WHERE
    	TABLE_SCHEMA = '数据库名称';
    

    查询结果如下:
    部分查询结果
    使用Navicat导出查询结果功能按指导操作生成所需格式文件如下图所示:
    导出结果按钮
    !注意:导出结果时注意勾选“包含列的标题”。
    包含列的标题

    展开全文
  • * 生成mysql数据字典 */ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $database = array(); $database['DB_HOST'] = 'localhost';//数据库服务器地址 $database['DB_NAME'] = 'project_my';//...
    <?php
    /**
     * 生成mysql数据字典
     */
    header("Content-type:text/html;charset=utf-8");
    // 配置数据库
    $database = array();
    $database['DB_HOST'] = 'localhost';//数据库服务器地址
    $database['DB_NAME'] = 'project_my';//数据库名
    $database['DB_USER'] = 'mysql_username';//用户名
    $database['DB_PWD'] = 'mysql_psd';//密码
    $mysql_conn = @mysql_connect("{$database['DB_HOST']}", "{$database['DB_USER']}", "{$database['DB_PWD']}") or die("Mysql connect is error.");
    mysql_select_db($database['DB_NAME'], $mysql_conn);
    $result = mysql_query('show tables', $mysql_conn);
    mysql_query("set names utf8");
    // 取得所有表名
    while ($row = mysql_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 = 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['DB_NAME']}'";
      $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 = '';
    // 循环所有表
    //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>';
    }
    /* 生成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; background-color:#fff; 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;background-color:#fff;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>';
    echo '<hr/>';
    
    
    
    
    
    展开全文
  • /** * 生成mysql数据字典 */ //数据库配置 $config = [ 'host' => '127.0.0.1', 'user' => 'root', 'password' => 'root', ]; function export_dict($dbname, $config) { $title = $dbn
    <?php
    
    /**  
     * 生成mysql数据字典  
     */
    
    //数据库配置
    $config = [
        'host'     => '127.0.0.1',
        'user'     => 'root',
        'password' => 'root',
    ];
    
    function export_dict($dbname, $config) {
        $title = $dbname.' 数据字典';
        $dsn = 'mysql:dbname='.$dbname.';host='.$config['host'];
        //数据库连接
        try {
            $con = new PDO($dsn, $config['user'], $config['password'], [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
        } catch (PDOException $e) {
            die('Connection failed: ' . $e->getMessage());
        }
    
    
        $tables = $con->query('SHOW tables')->fetchAll(PDO::FETCH_COLUMN);
    
        //取得所有的表名
        foreach ($tables as $table) {
            $_tables[]['TABLE_NAME'] = $table;
        }
    
        //循环取得所有表的备注及表中列消息  
        foreach ($_tables as $k => $v) {  
    
            $sql = 'SELECT * FROM ';  
            $sql .= 'INFORMATION_SCHEMA.TABLES ';  
            $sql .= 'WHERE ';  
            $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$dbname}'";  
            $tr = $con->query($sql)->fetch(PDO::FETCH_ASSOC);
            $_tables[$k]['TABLE_COMMENT'] = $tr['TABLE_COMMENT'];
    
            $sql = 'SELECT * FROM ';  
            $sql .= 'INFORMATION_SCHEMA.COLUMNS ';  
            $sql .= 'WHERE ';  
            $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$dbname}'";  
            $fields = [];  
            $field_result = $con->query($sql)->fetchAll(PDO::FETCH_ASSOC);  
    
            foreach ($field_result as $fr)
            {
                $fields[] = $fr;
            }
            $_tables[$k]['COLUMN'] = $fields;
        }  
        unset($con);
    
        $mark = '';
    
        //循环所有表  
        foreach ($_tables as $k => $v) {  
    
            $mark .= '## '.$v['TABLE_NAME'].'  '.$v['TABLE_COMMENT'].PHP_EOL;
            $mark .= ''.PHP_EOL;
            $mark .= '|  字段名  |  数据类型  |  默认值  |  允许非空  |  自动递增  |  备注  |'.PHP_EOL;
            $mark .= '| ------ | ------ | ------ | ------ | ------ | ------ |'.PHP_EOL;
            foreach ($v['COLUMN'] as $f) {  
                $mark .= '| '.$f['COLUMN_NAME'].' | '.$f['COLUMN_TYPE'].' | '.$f['COLUMN_DEFAULT'].' | '.$f['IS_NULLABLE'].' | '.($f['EXTRA'] == 'auto_increment' ? '' : '').' | '.(empty($f['COLUMN_COMMENT']) ? '-' : str_replace('|', '/', $f['COLUMN_COMMENT'])).' |'.PHP_EOL;
            }  
            $mark .= ''.PHP_EOL;
    
        }  
    
        //markdown输出
        $md_tplt = <<<EOT
    # {$title}
    >   本数据字典由PHP脚本自动导出,字典的备注来自数据库表及其字段的注释(`comment`).开发者在增改库表及其字段时,请在 `migration` 时写明注释,以备后来者查阅.
    
    {$mark}
    EOT;
    
        //html输出
        $marked_text = htmlentities($md_tplt);
        $html_tplt = <<<EOT
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>{$title} - Powered By Markdown Viewer</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <link rel="stylesheet" type="text/css" href="http://s1.ystatic.cn/41345695beaa9b2e/css/github-markdown.css">
        <script src="http://s1.ystatic.cn/lib/marked/marked.js"></script>
        <script src="http://s1.ystatic.cn/lib/highlight.js/highlight.pack.js?v=9.6.0"></script>
        <link href="http://s1.ystatic.cn/lib/highlight.js/styles/github.css?v=9.6.0" rel="stylesheet">
    </head>
    <body>
    <div class="markdown-body" id="content" style="margin:auto; width: 1024px;">
    
    </div>
    <div id="marked_text" style="display:none;">
    {$marked_text}
    </div>
    <script>
    var marked_text = document.getElementById('marked_text').innerText;
    var renderer = new marked.Renderer();
    renderer.table = function(header, body) {
        return '<table class="table table-bordered table-striped">\\n'
                + '<thead>\\n'
                + header
                + '</thead>\\n'
                + '<tbody>\\n'
                + body
                + '</tbody>\\n'
                + '</table>\\n';
    };
    marked.setOptions({
        renderer: renderer,
        gfm: true,
        tables: true,
        breaks: false,
        pedantic: false,
        sanitize: true,
        smartLists: true,
        smartypants: false,
        langPrefix: 'language-',
        //这里使用了highlight对代码进行高亮显示
        highlight: function (code) {
            return hljs.highlightAuto(code).value;
        }
    });
    document.getElementById('content').innerHTML = marked(marked_text);
      </script>
    </body>
    </html>
    EOT;
    
        file_put_contents($dbname.'.md', $md_tplt);
        file_put_contents($dbname.'.html', $html_tplt);
    }
    
    $dbs = ['yascmf_app', 'test'];
    foreach ($dbs as $db) {
        export_dict($db, $config);
    }
    ?>  
    
    展开全文
  • 因数据对接,先需要金蝶ERP K-3 的系统设计文档,主要是生产管理和库存管理这两个... 另外还需要这两个模块的数据库设计文档,数据字典。 有的可以给我发一份嘛 定酬谢! 发邮箱:icefrog.su@qq.com 并且结贴给分100
  • ps:数据字典对于一个数据库是特别重要的,大部分项目在验收时都需要向客户提供一份详细的数据字典,博主网上查询了各种建立数据库数据字典的方法,以下这种最为快捷便利,亲测可用!!! 步骤如下: 一、打开SQL ...

    用SQL SERVER2014建立数据库的数据字典

    数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,即数据的数据

    ps:数据字典对于一个数据库是特别重要的,大部分项目在验收时都需要向客户提供一份详细的数据字典,博主网上查询了各种建立数据库数据字典的方法,以下这种最为快捷便利,亲测可用!!!

    步骤如下:
    一、打开SQL SERVER 2014找到你所需要建立数据字典的数据库
    在这里插入图片描述
    二、鼠标右键选中点击该数据库,选择新建查询
    在查询处复制如下代码(以下代码不需要修改)
    ps:下面代码转载自https://www.cnblogs.com/tylertang/p/4921195.html

    SELECT
            (case when a.colorder=1 then d.name else '' end)表名,
            a.colorder 字段序号,
            a.name 字段名,
            (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
           (case when (SELECT count(*)
            FROM sysobjects
            WHERE (name in
                    (SELECT name
                    FROM sysindexes
                    WHERE (id = a.id) AND (indid in
                             (SELECT indid
                            FROM sysindexkeys
                            WHERE (id = a.id) AND (colid in
                                      (SELECT colid
                                     FROM syscolumns
                                     WHERE (id = a.id) AND (name = a.name))))))) AND
                (xtype = 'PK'))>0 then '√' else '' end) 主键,
           b.name 类型,
           a.length 占用字节数,
          COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
          isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
          (case when a.isnullable=1 then '√'else '' end) 允许空,
          isnull(e.text,'') 默认值,
          isnull(g.[value],'') AS 字段说明
    FROM  syscolumns  a left join systypes b
    on  a.xtype=b.xusertype
    inner join sysobjects d
    on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'
    left join syscomments e
    on a.cdefault=e.id
    left join sys.extended_properties g
    on a.id=g.major_id AND a.colid = g.major_id
    order by a.id,a.colorder,表名
    

    如图所示


    三、点击执行
    如下图所示
    在这里插入图片描述
    效果如下
    在这里插入图片描述
    四、导出文件
    如果是需要直观的数据字典文件就选中上图列出的表 右键点击全选然后再点击将结果另存为,选择你所需要的保存文件路径。数据字典就会保存到你指定的路径下了。

    如果觉得这篇文章对你有用,留下一个赞吧!如果文章有不足之处欢迎指出。

    展开全文
  • 数据库数据字典的理解

    千次阅读 2019-06-03 20:26:48
    最近在做数据库设计大作业,要从零开始设计一个小规模的数据库,画完E-R图之后给老师检查,老师说我需求分析做的不好,没有体现业务流程,数据字典也不完整,要把数据字典完整的表示出来,流程也不能少。这下把我整...
  • 数据库 - 数据字典及其使用

    千次阅读 2019-07-22 10:05:44
    1数据字典 1.1什么是数据字典 将如下这些具有相同类型的配置项,配置到系统的数据字典表中,方便系统维护,由超级管理员统一在后台进行数据字典维护,如果用户需求要增加变更配置项,只需要修改数据字典表记录即可...
  • 数据库——数据字典是什么?

    万次阅读 多人点赞 2019-04-13 17:57:20
    一.数据字典以及使用场景: <User表> ...
  • Oracle 12c CDB数据库数据字典架构

    千次阅读 2017-06-01 17:36:41
    数据字典就是元数据的集合,比如创建的表,列,约束,触发器等等这些都是元数据,需要保存到数据库中。除此之外,Oracle自身的一些数据库对象,如目录,PL/SQL代码等等这些都是元数据,都需要存放在数据字典中。随着...
  • Mysql数据库导出数据字典: SELECT TABLE_SCHEMA as '数据库名称', TABLE_NAME as '表字段名', COLUMN_NAME as '列字段名', COLUMN_TYPE as '列字段类型', COLUMN_KEY as '字段约束类型', EXTRA as '字段...
  • 2.快速导出数据库数据字典: SQL Server 数据库,生成数据字典 use YourDatabase --指定要生成数据字典的数据库 go SELECT 表名=case when a.colorder=1 then d.name else '' end, 表说明=case when a.colorder=...
  • 数据库设计--数据字典

    万次阅读 多人点赞 2017-06-20 16:06:28
    数据字典定义数据字典(data dictionary)是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。
  • Django 数据库字典形式进行新增一行数据 解决每次添加数据库字段数量不一致,及数据库字段名使用变量问题 datadict={'ToUserName':msg.target,'FromUserName':msg.source,'CreateTime':msg.create_time,'MsgType':...
  • 便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。
  • 数据字典(码表)就是存储一些基础的数据
  • 利用navicat 导出数据库数据字典

    千次阅读 2018-09-17 11:03:50
    1、新建查询:运行以下sql语句 select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,COLUMN_COMMENT from information_schema.columns where TABLE_SCHEMA='数据库名' ...导出单个表的数据字典结果集...
  • 数据字典数据库设计

    千次阅读 2016-03-14 10:02:38
    本次谈谈数据字典的设计 1、字典表 主键   字典名称   字典代码   说明   父类id 这个可用户多级 别菜单设计 2、字典值表 主键 标识 字典值名称...
  • 数据库数据字典(Data dictionary)

    千次阅读 2009-04-08 08:49:27
    数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工...
  • 然而,一切并非经常如我们所愿,接手的老旧项目非常大的可能是没有数据库设计、数据字典等设计文档;此时的我们心里面肯定是十万个????奔腾而过; 但是不用担心,我这里就有一个快速生成 数据字典,以及快速生成...
  • MySQL数据库导出数据字典Excel表

    千次阅读 2018-07-10 11:18:22
    刚实习那段时间整天就帮大佬写文档,有次大佬让我写数据字典,Excel文档格式如下:一行行让我用手码是不可能的,毕竟也学过计算机。整理了网上的方法,如下:先打开navicat for mysql,在查询里运行下面SQL语句:...
  • select COLUMN_NAME 列名, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_KEY 字段主键, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注 FROM INFORMATION_SCHEMA.COLUMNS ...
  • 数据库生成数据字典的方法

    千次阅读 2018-08-14 11:29:12
    数据词典的生成方法有很多种 今天要介绍的是利用sql命令,快速的生成数据词典,从而方便查看: SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT FROM information_schema.c...
  • 数据库课程设计 数据字典by Caleb Curry 由Caleb Curry 数据库设计完整课程 (Database Design Full Course) Hi, I’m Caleb Curry. I create developer-focused content available on calebcurry.com. I’m ...
  • oracle数据库字典

    千次阅读 2018-02-25 00:31:28
    一、Oracle数据字典 数据字典是oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到...
  • 今天为大家介绍一种根据数据库表生成数据字典工具,支持access,sql,mysql,oracle等等数据库。并根据表生成的数据字典可以为excel,xml,word,txt等格式。  PDMReader 深入了解 ...
  • 数据流程图: 数据字典: 外部实体 数据结构 数据存储 决策树: 处理逻辑: 数据元素:(数据项)
  • Oracle数据库自动生成数据字典

    千次阅读 2018-11-10 14:13:58
    3.新建连接之后,在左侧栏中选中连接名右键选择 “生成数据库文档” 即可 4、选择输出目录,点击确定即可 注意:输出为html文件,小文件较多,最好选择一个空文件夹保存。浏览器会自动打开,打开后复制到word文档中...
  • 数据字典

    千次阅读 2019-06-17 21:28:35
    数据字典 1.字典,用来帮人们查看一些信息,查看一些内容 ...数据库数据字典是一组表和视图结构。他们存放在system表空间 当用户在对数据库操作遇到困难就可以访问数据字典来查看详细的信息。 用户使用sq...
  • 随着数据库表的增多,我们需要使用数据字典直观的查看,管理我们的数据库 网络上大部分是关于mysql怎么生成数据字典,这里提供一个sqlserver的方法,亲测可用 方法是在navicat里新建查询,放下如下语句,然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,578
精华内容 84,231
关键字:

数据库数据字典