精华内容
下载资源
问答
  • 导出 数据库表结 word 加主键 外键
  • 导出数据库结构 ,导出文件的格式为excel,
  • Oracle数据库表结构导出器是一套用来完成将Oracle数据库中的表结构导出成Word文档,并输出标准的打印报表格式的软件。亲测oracle绝对好使 ,另附有链接信息,请先看好说明再操作.不会的加我qq87611894
  • 导出数据库表结构

    2018-05-15 10:27:54
    可以很快的导出所用数据库所有结构(包括是否为主键,注释)
  • Java 导出数据库表信息生成Word文档

    千次阅读 2019-11-07 09:46:59
    -- ================== 将数据库表信息生成word文档信息所需 ====================== --> <!-- https://mvnrepository.com/artifact/com.lowagie/itext --> <dependency> ...

    一、前言

    最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~

    先来看生成word文档效果吧
    在这里插入图片描述

    下面我们也来一起简单的实现吧

    二、Java 导出数据库表信息生成Word文档

    温馨小提示:下面只是简单的展示一些主要代码,详情可参考文末给出的案例demo源码

    基本环境
    1. spring-boot 2.1.8
    2. mybatis-plus 2.2.0
    3. mysql 数据库

    1、新增依赖

    		<!-- ================== 将数据库表信息生成word文档信息所需 ====================== -->
            <!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
            <dependency>
                <groupId>com.lowagie</groupId>
                <artifactId>itext</artifactId>
                <version>2.1.7</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itext-asian</artifactId>
                <version>5.2.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.lowagie/itext-rtf -->
            <dependency>
                <groupId>com.lowagie</groupId>
                <artifactId>itext-rtf</artifactId>
                <version>2.1.7</version>
            </dependency>
    

    2、查询表数据信息

    @Mapper
    public interface TableMapper {
    
        /**
         * 获取指定数据库下所有表名和注释
         *
         * @param dbName:数据库名
         * @return: java.util.List<com.zhengqing.demo.modules.system.entity.Tables>
         */
        @Select("select table_name as name,table_comment as comment from information_schema.tables where table_schema =#{dbName} order by table_name")
        List<Tables> getAllTables(@Param("dbName") String dbName);
    
        /**
         * 获取指定表信息
         *
         * @param tableName:表
         * @return: java.util.List<com.zhengqing.demo.modules.system.entity.TableFileds>
         */
        @Select("SHOW FULL FIELDS FROM ${tableName}")
        List<TableFileds> getTable(@Param("tableName") String tableName);
    
    }
    

    3、生成word文档实现类

    @Service
    public class TableService implements ITableService {
    
        @Autowired
        private TableMapper tableMapper;
        @Autowired
        private TableToWordUtil tableToWordUtil;
    
        @Override
        public String getTableInfo() {
            // 1、获取数据库所有表信息
            List<Tables> tables = tableMapper.getAllTables(Constants.DATABASE);
    
            // 2、生成文件名信息 - 年月日时分秒
            String date = null;
            try {
                date = DateTimeUtils.dateFormat(new Date(), DateTimeUtils.PARSE_PATTERNS[12]);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            String docFileName = Constants.FILE_PATH + "\\" + Constants.FILE_NAME + "-" + date + ".doc";
    
            // 3、调用工具类生成文件
            tableToWordUtil.toWord(tables, docFileName, Constants.FILE_NAME);
    
            // 4、返回文件地址
            String filePath = docFileName.replaceAll("\\\\", "/");
            return filePath;
        }
    }
    
    

    4、其中生成word文档工具类

    @Service
    public class TableToWordUtil {
    
        @Autowired
        TableMapper tableMapper;
    
        /**
         * 生成word文档
         *
         * @param tables:该数据库下所有表信息
         * @param fileName:生成文件地址
         * @param title:文件内容标题
         * @return: void
         */
        public void toWord(List<Tables> tables, String fileName, String title) {
            Document document = new Document(PageSize.A4);
            try {
                // 创建文件夹
                File dir = new File(Constants.FILE_PATH);
                dir.mkdirs();
    
                // 创建文件
                File file = new File(fileName);
                if (file.exists() && file.isFile()) {
                    file.delete();
                }
                file.createNewFile();
    
                // 写入文件信息
                RtfWriter2.getInstance(document, new FileOutputStream(fileName));
                document.open();
                Paragraph ph = new Paragraph();
                Font f = new Font();
                Paragraph p = new Paragraph(title, new Font(Font.NORMAL, 24, Font.BOLDITALIC, new Color(0, 0, 0)));
                p.setAlignment(1);
                document.add(p);
                ph.setFont(f);
                for (int i = 0; i < tables.size(); i++) {
                    String table_name = tables.get(i).getName();
                    String table_comment = tables.get(i).getComment();
                    List<TableFileds> fileds = tableMapper.getTable(tables.get(i).getName());
                    String all = "" + (i + 1) + " 表名称:" + table_name + "(" + table_comment + ")";
                    Table table = new Table(6);
    
                    document.add(new Paragraph(""));
    
                    table.setBorderWidth(1);
                    table.setPadding(0);
                    table.setSpacing(0);
    
                    //添加表头的元素,并设置表头背景的颜色
                    Color chade = new Color(176, 196, 222);
    
                    Cell cell = new Cell("编号");
                    addCell(table, cell, chade);
                    cell = new Cell("字段名");
                    addCell(table, cell, chade);
                    cell = new Cell("类型");
                    addCell(table, cell, chade);
                    cell = new Cell("是否非空");
                    addCell(table, cell, chade);
                    cell = new Cell("是否主键");
                    addCell(table, cell, chade);
                    cell = new Cell("注释");
                    addCell(table, cell, chade);
    
                    table.endHeaders();
    
                    // 表格的主体
                    for (int k = 0; k < fileds.size(); k++) {
                        addContent(table, cell, (k + 1) + "");
                        addContent(table, cell, fileds.get(k).getField());
                        addContent(table, cell, fileds.get(k).getType());
                        addContent(table, cell, fileds.get(k).getNull().equals("YES") ? "否" : "是");
                        addContent(table, cell, fileds.get(k).getKey() != "" ? "是" : "否");
                        addContent(table, cell, fileds.get(k).getComment());
                    }
                    Paragraph pheae = new Paragraph(all);
                    //写入表说明
                    document.add(pheae);
                    //生成表格
                    document.add(table);
                }
                document.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 添加表头到表格
         *
         * @param table
         * @param cell
         * @param chade
         */
        private void addCell(Table table, Cell cell, Color chade) {
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBackgroundColor(chade);
            table.addCell(cell);
        }
    
        /**
         * 添加内容到表格
         *
         * @param table
         * @param content
         */
        private void addContent(Table table, Cell cell, String content) {
            cell = new Cell(content);
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            table.addCell(cell);
        }
    
    }
    

    5、其中的一些常量参数

    public class Constants {
    
        /**
         * 需要生成word文档的数据库
         */
        public static final String DATABASE = "demo";
        /**
         * 生成文件名前缀
         */
        public static final String FILE_NAME = "测试数据库";
    
        /**
         * 生成文件地址
         */
        public static String FILE_PATH = "D:\\www";
    
    }
    

    三、测试生成效果

    小编在demo中提供了一个get请求的接口http://localhost:8080/api/tableToWord

    在这里插入图片描述

    接下来我们就可以去返回的地址中查看生成文件了
    在这里插入图片描述
    在这里插入图片描述

    案例demo源码

    https://gitee.com/zhengqingya/java-workspace

    展开全文
  • 一般大家可能用的最多的只是连接到特定的数据库,然后其次对于数据库的进行各种CRUD,那么大家有没有尝试过导出数据库结构和数据呢?我这周就尝试过了,而且深有体会。下面就听我慢慢讲解。   这周五自己...

      Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,相信大家在平时工作中不少用。一般大家可能用的最多的只是连接到特定的数据库,然后其次对于数据库的表进行各种CRUD,那么大家有没有尝试过导出数据库的表结构和数据呢?我这周就尝试过了,而且深有体会。下面就听我慢慢讲解。


      这周五自己负责的项目要进行私有化部署,所以得提前将项目中对应的数据库所需要的表结构和数据的sql导出来。当时上级交给了我这个任务,那么如何使用Navicat导出数据库的表结构和数据呢?虽然界面中也有相关提示,但是追求完美的我总感觉会有更好的方法,于是经过不断摸索,自己总结了以下三种不同的导出方式:

    1.第一种方法也是大家最常用的方法,首先直接从界面中的Tools -> Data Transfer打开数据传输界面,从传输界面中可以清楚地看到可以在source中选择自己目前要导出相关数据的数据库,在targer中自己可以选择导出到另外一个数据库或文件。我们选择文件并设定好自己要导出的文件后选下一步,就根据自己需要选择相关表进行导出了。这种方式的缺点就是所有的sql脚本都只能放在一个文件中。具体操作如下图所示:

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2.第二种方法是也是和第一种方法本质一样,只不过它的方式会显得更简单粗暴点。1.首先在左边导航栏里点击打开对应的数据库,然后在中间的Objects上就可以看到这个数据库全部的表;2.于是可以按住Ctrl健勾选住你需要的导出的表,然后点击鼠标右键选择Dump SQL FILE后就看到有导出表结构和数据以及仅导出表结构这两种方式,选择对应的方式后会弹出另存为的弹框就可以保存到对应文件了。如下图所示:

    在这里插入图片描述
    3.要是我不想将全部的表sql脚本放到一个文件中而是想分开放到各自对应的文件呢?也好办!继续重复第二种方法的第一个步骤,然后当点击鼠标右键时直接选择Export Wizard,在弹出的框种选择sql这个文件格式后点下一步就可以看到你选中的表中都会对应到不同的文件,接着一路点next后最后点start就可以完成导出了。如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
      这就是我总结出的导出数据库表结构和表数据的sql脚本的三种方式。如果哪里有不足的地方,欢迎大家指正!原创不易,希望大家多多支持!

    展开全文
  • navicat导出数据库表结构及数据

    千次阅读 2020-06-29 22:09:53
    本文介绍下使用navicat导出数据库表结构、表数据 导出表结构、数据 1、选择工具->数据传输 2、选择我们的数据库,然后目标选择文件,目录导出到本地桌面的1.sql文件(也可以选择连接把数据传输到其他数据库) 3...

    前言

    我们在开发中使用数据库时往往需要做一些备份之类的,或者需要导出下表结构导入到其他数据库等

    本文介绍下使用navicat导出数据库表结构、表数据

    导出表结构、数据

    1、选择工具->数据传输
    在这里插入图片描述
    2、选择我们的数据库,然后目标选择文件,目录导出到本地桌面的1.sql文件(也可以选择连接把数据传输到其他数据库)
    在这里插入图片描述
    3、此时我们可以看到左上角有一个选项,这个选项里面我们可以选择要导出哪些数据,包括表结构、索引、外键、表数据、触发器等,选择完我们要导出的类型,点击下一步
    在这里插入图片描述
    4、选择要导出的表、视图等即可导出完成
    在这里插入图片描述
    原创不易,转载请说明出处https://editor.csdn.net/md?articleId=107029406

    展开全文
  • Navicat导出数据库表设计文档

    千次阅读 2020-04-09 20:57:11
    - flowershop 为数据库名称,复制粘贴改为你的数据库名称即可 table_schema ='flowershop' -- 输出所有该数据库所有含字段 order by table_name 我的数据库: 3、运行结果: 温馨提示:不知道注释怎么添加的,你...

    1、打开navicat,新建查询

     

    2、输入以下SQL语句:

    SELECT
    TABLE_NAME 表名,
    COLUMN_NAME 代码,
    COLUMN_COMMENT 名称,
    COLUMN_TYPE 数据类型,
    COLUMN_KEY 主键,
    COLUMN_COMMENT 注释
    FROM
    INFORMATION_SCHEMA.COLUMNS
    where
    -- flowershop 为数据库名称,复制粘贴改为你的数据库名称即可
    table_schema ='flowershop'
    -- 输出所有该数据库所有表含字段
    order by table_name

    我的数据库:

     

    3、运行结果:

     

    温馨提示:不知道注释怎么添加的,你右键你的表名,设计表,就可以看到

    4、导出为文档(毕业设计可用)

    找到上方的导出

    选择输出为doc

    添加你想要导出的路径

    后面-----下一步-----开始,就行了

    打开你的文档,已经生成好了!

     

     

     

    展开全文
  • 网络上已经有可以用的类似工具,但大都不能自定义,且代码乱,该工具符合6大设计模式,可以作为sql导出word的框架,附带demo,导出后的word见我的博客,导出样式可修改。
  • datagrip 导出数据库表结构

    千次阅读 2020-11-22 17:56:30
    快速导出表结构 在sql generator中就会开发对应数据库的SQL,之后把这个SQL复制出来保存在指定的SQL文件中,即可。
  • postgresql的导入导出数据库表及结构

    千次阅读 2020-04-12 20:24:59
    导出整个数据库 pg_dump -h localhost -...导出某个 pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql 导入整个数据库 使用如下命令需要先进入postgres权限:...
  • PHP导出数据库表名,数据库表注释,数据库表结构到excel。
  • 使用plsql导出数据库表中数据

    千次阅读 2017-12-16 22:05:14
    使用plsql导入导出数据库表中的数据 1、导出数据库表中数据 2、选择要导出的表 导入数据库表中的数据 1、导入数据库表中的数据 2、执行命令 导出数据库的表结构
  • 原因:在oracle11g有个特征,如果某个从来没有被使用过,则数据库系统不会给这个分配段,只在数据字典中保存其结构。这样,从来没有被使用过的使用exp命令就不会被导出。 说明:设置deferred_segment_...
  • navicat 导入导出数据库表及结构

    万次阅读 2018-06-20 15:41:28
    导出:数据传输(这个名字比较容易让人误解)使用数据传输可以导出表结构或数据,还可以分别选择每个是否导出。"数据传输"这个名字起的可能使人误导,实际上它不只可以传输到另一个数据库,也可以保存为...
  • 如何利用PLSQL DEVELOPER导入导出数据库表
  • SQLServer2008 导出数据库表结构和数据 https://www.cnblogs.com/fuyuanming/p/6905692.html
  • 导出数据不包含空解决方案。Oracle 11g导出、少的解决办法  ORACLE 11G中有个新特性,当无数据时,不分配segment,以节省空间。 解决方法:  1)insert一行,再rollback就产生segment了  该方法是在...
  • Phpmyadmin导出数据库表显示中文乱码

    千次阅读 2019-05-06 12:27:12
    Phpmyadmin导出数据库表显示中文乱码 导出时的编码格式有误 解决步骤 1、导出方式选择“自定义” 2、编码格式选择“gb2312” 3、我导出为csv格式,打开文件 乱码问题已解决 ...
  • 导出数据库表的结构与数据

    千次阅读 2017-09-26 14:26:56
    注意是在登出数据库后再执行 ... 1、导出數據库為dbname的结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)  mysqldump -uroot -pdbpasswd -d dbname >db.sql;  2、导出數據库為d
  • 数据库表导出CHM文件

    2018-10-04 02:54:29
    可以导出数据库表为CHM文件,支持SQL server,Oracle,MySlql等数据库
  • oracle如何导出数据库表数据DMP文件

    千次阅读 2019-01-18 14:10:28
    oracle是当前市场主流的一款数据库软件,在使用数据库时我们可能会存在迁库的场景,此时可以直接将原库的数据信息导出为dmp文件,然后在新环境上将该文件导入到数据库中即可。 方法/步骤 打开电脑左下角【开始...
  • Android 导出数据库到Excel表格功能 https://blog.csdn.net/qq_31939617/article/details/80895529
  • 将MySQL数据库中的导出为Word格式,自动生成数据库说明文档。 里面有操作说明,通过系统的ODBC连接数据库,需要现在ODBC中添加连接信息,word中需要启动宏,运行程序,按照模板导出
  • 批量导出数据库表(oracle) 要求:导出sql文件,包含表结构和数据。 方案一 1:用cmd进入命令行输入:tnsping cmstar就是测试172.18.13.200是否连接成功2:导入与导出,如下: 将数据库TEST完全导出,用户名...
  • SQLServer 导出数据库表结构

    千次阅读 2016-03-27 21:18:52
    使用SQL语句导出当期数据库结构
  • db2look导出数据库表结构用法

    千次阅读 2018-02-24 11:05:28
    对于db2数据库,导入和导出表结构和数据其实很简单,只需要用到db2look和db2move两个命令即可。这两个命令都需要在客户端的命令行处理器中执行,但对于数据库服务器和客户端不在同一机器上的,需要借助catalog命令,...
  • PowerDesigner从数据库导出表结构
  • 运用Qt框架实现将数据库里面的内容导出为Excel数据库里面有多少张表,导出的Excel文件里对应多少张表,可供学习或研究
  • 导出数据库结构到Excel,一个源码包, 一个Release包。 具体功能见我的博客,有一篇这样的文章

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 304,840
精华内容 121,936
关键字:

怎么导出数据库表