Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tsdump

Build Status Coverage Status

目录

特性

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

安装

  • 源代码安装

    $ go get -u github.com/shaowin16/tsdump
  • 二进制安装

    Download

基本使用

$ tsdump --help
NAME:
  tsdump - Database table structure dump tool.

USAGE:
  tsdump [OPTIONS] [database [table ...]]

VERSION:
  0.3.0

AUTHOR:
  voidnt <voidint@126.com>

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)
  -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: txt|csv|json|md (default: "txt")
  -o value, --output value    write to a file, instead of STDOUT
  --help                      show help
  --version, -v               print the version

COPYRIGHT:
  Copyright (c) 2017, 2018, 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 mydb
    Enter 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:

    DATABASE CHARACTER SET COLLATION
    mydb utf8mb4 utf8mb4_general_ci

    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 联系电话
  • 将用户权限范围内数据库及其表结构数据输出到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.4.0 - 2018/03/25

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

0.3.0 - 2018/01/05

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

0.2.0 - 2018/01/01

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

0.1.0 - 2017/12/31

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

About

mysql数据表结构批量导出工具,支持将数据库(当前仅支持MySQL)及其表结构的元数据以text、markdown、json、csv形式输出。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.