MySQL
text
markdown
json
csv
源代码安装
$ go get -u github.com/voidint/tsdump
二进制安装
Download
$ tsdump --help NAME: tsdump - Database table structure dump tool. USAGE: tsdump [OPTIONS] [database [table ...]] VERSION: 0.3.0 AUTHOR: voidnt <[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) -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的表。
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=’学生信息表’;
sno
sname
gender
native
birthday
dno
spno
classno
entime
home
tell
将目标数据库及其所有表的表结构数据以表格形式输出到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:
学生信息表
将用户权限范围内数据库及其表结构数据输出到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