• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

tsdump: 数据库表结构的 dump 工具

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

tsdump

开源软件地址:

https://gitee.com/voidint/tsdump

开源软件介绍:

tsdump

Build Statuscodecovcodebeat badgeGo Report Card

注意:master分支可能处于开发之中并非稳定版本,请通过tag下载稳定版本的源代码,或通过release下载已编译的二进制可执行文件。

目录

特性

  • 支持将数据库(当前仅支持MySQL)及其表结构的元数据以textmarkdownjsoncsvxlsx形式输出。

安装

  • 源代码安装

    $ GO111MODULE=on GOPROXY=https://goproxy.cn go install -v github.com/voidint/[email protected]
  • 二进制安装

    Download

基本使用

$ tsdump --helpNAME:  tsdump - Database table structure dump tool.USAGE:  tsdump [OPTIONS] [database [table ...]]VERSION:  0.5.0AUTHOR:  voidint <[email protected]>OPTIONS:  -D, --debug                 enable debug mode  -h value, --host value      connect to host (default: "127.0.0.1")  -P value, --port value      port number to use for connection (default: 3306)  -S value, --socket value    socket file to use for connection  -u value, --user value      user for login if not current user (default: "voidint")  -p value, --password value  password to use when connecting to server. If password is not given it's solicited on the tty.  -V value, --viewer value    output viewer. Optional values: csv|json|md|xlsx|txt (default: "txt")  -o value, --output value    write to a file, instead of STDOUT  -s, --sorted                sort table columns  --help                      show help  --version, -v               print the versionCOPYRIGHT:  Copyright (c) 2017-2021, voidint. All rights reserved.
  • 使用root用户创建一个名为mydb的数据库实例,以及一张student的表。

    CREATE DATABASE IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;USE `mydb`;CREATE TABLE `student` (`sno` char(8) NOT NULL COMMENT '学号',`sname` varchar(255) NOT NULL COMMENT '姓名',`gender` char(2) DEFAULT NULL COMMENT '性别',`native` char(20) DEFAULT NULL COMMENT '籍贯',`birthday` datetime DEFAULT NULL COMMENT '出生日期',`dno` char(6) DEFAULT NULL COMMENT '所在院系',`spno` char(8) DEFAULT NULL COMMENT '专业代码',`classno` char(4) DEFAULT NULL COMMENT '班级号',`entime` date DEFAULT NULL COMMENT '入校时间',`home` varchar(40) DEFAULT NULL COMMENT '家庭住址',`tell` varchar(40) DEFAULT NULL COMMENT '联系电话',PRIMARY KEY (`sno`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';
  • 将目标数据库及其所有表的表结构数据以表格形式输出到console

    $ tsdump -h 127.0.0.1 -P 3307 -u root mydbEnter Password:|----------|---------------|--------------------|| DATABASE | CHARACTER SET |     COLLATION      ||----------|---------------|--------------------|| mydb     | utf8mb4       | utf8mb4_general_ci ||----------|---------------|--------------------|TABLE:	student	学生信息表|----------|--------------|----------|-----|---------|---------------|--------------------|----------||  COLUMN  |  DATA TYPE   | NULLABLE | KEY | DEFAULT | CHARACTER SET |     COLLATION      | COMMENT  ||----------|--------------|----------|-----|---------|---------------|--------------------|----------|| sno      | char(8)      | NO       | PRI |         | utf8mb4       | utf8mb4_general_ci | 学号     || sname    | varchar(255) | NO       |     |         | utf8mb4       | utf8mb4_general_ci | 姓名     || gender   | char(2)      | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 性别     || native   | char(20)     | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 籍贯     || birthday | datetime     | YES      |     |         |               |                    | 出生日期 || dno      | char(6)      | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 所在院系 || spno     | char(8)      | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 专业代码 || classno  | char(4)      | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 班级号   || entime   | date         | YES      |     |         |               |                    | 入校时间 || home     | varchar(40)  | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 家庭住址 || tell     | varchar(40)  | YES      |     |         | utf8mb4       | utf8mb4_general_ci | 联系电话 ||----------|--------------|----------|-----|---------|---------------|--------------------|----------|
  • 将目标数据库下目标表的表结构数据输出到markdown文件

    $ tsdump -h 127.0.0.1 -P 3307 -u root -V md -o ./student.md mydb student

    output:

    DATABASECHARACTER SETCOLLATION
    mydbutf8mb4utf8mb4_general_ci

    student

    学生信息表

    COLUMNDATA TYPENULLABLEKEYDEFAULTCHARACTER SETCOLLATIONCOMMENT
    snochar(8)NOPRIutf8mb4utf8mb4_general_ci学号
    snamevarchar(255)NOutf8mb4utf8mb4_general_ci姓名
    genderchar(2)YESutf8mb4utf8mb4_general_ci性别
    nativechar(20)YESutf8mb4utf8mb4_general_ci籍贯
    birthdaydatetimeYES出生日期
    dnochar(6)YESutf8mb4utf8mb4_general_ci所在院系
    spnochar(8)YESutf8mb4utf8mb4_general_ci专业代码
    classnochar(4)YESutf8mb4utf8mb4_general_ci班级号
    entimedateYES入校时间
    homevarchar(40)YESutf8mb4utf8mb4_general_ci家庭住址
    tellvarchar(40)YESutf8mb4utf8mb4_general_ci联系电话
  • 将用户权限范围内数据库及其表结构数据输出到csv文件

    $ tsdump -h 127.0.0.1 -P 3307 -u root -V csv > ./mydb.csv
  • 将目标数据库及其所有表的表结构数据输出到JSON文件

    $ tsdump -h 127.0.0.1 -P 3307 -u root -V json mydb > mydb.json

Changelog

0.5.0 - 2021/11/16

  • 支持以xlsx视图方式导出表结构数据。#27
  • 新增-s选项以支持对数据库、表、字段按字典序排列。#28

0.4.2 - 2020/05/22

  • 更新依赖(xorm)避免go get编译错误

0.4.1 - 2020/01/05

  • 修订版权信息

0.4.0 - 2018/03/25

  • 支持UNIX Domain Socket方式连接数据库。#18
  • 优化JSON视图输出格式。#19

0.3.0 - 2018/01/05

  • 支持通过-p选项指定数据库登录密码。#16
  • Fixbug: 标准输出重定向后获得的内容中包含有Enter Password:字样。#17

0.2.0 - 2018/01/01

  • 支持从stdin console中读取数据库登录密码。#5
  • Fixbug: 修正help信息。#6
  • 支持命令行参数指定目标数据库和表。#12
  • 支持通过-h选项指定主机名。#14

0.1.0 - 2017/12/31

  • 支持以csv视图方式导出表结构数据。#1
  • 支持以markdown视图方式导出表结构数据。#2
  • 支持以text视图方式导出表结构数据。#3
  • 支持以json视图方式导出表结构数据。#4

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap