tsdump 数据库表结构的 dump 工具开源项目

我要开发同款
匿名用户2019年05月20日
64阅读
开发技术GO语言
所属分类Google Go、数据库调整和优化、数据库相关
授权协议Apache-2.0

作品详情

特性支持将数据库(当前仅支持MySQL)及其表结构的元数据以text、markdown、json、csv形式输出。安装

源代码安装

$goget-ugithub.com/voidint/tsdump

二进制安装

Download

基本使用$tsdump--helpNAME:tsdump-Databasetablestructuredumptool.USAGE:tsdump[OPTIONS][database[table...]]VERSION:0.3.0AUTHOR:voidnt<voidint@126.com>OPTIONS:-D,--debugenabledebugmode-hvalue,--hostvalueconnecttohost(default:"127.0.0.1")-Pvalue,--portvalueportnumbertouseforconnection(default:3306)-uvalue,--uservalueuserforloginifnotcurrentuser(default:"voidint")-pvalue,--passwordvaluepasswordtousewhenconnectingtoserver.Ifpasswordisnotgivenit'ssolicitedonthetty.-Vvalue,--viewervalueoutputviewer.Optionalvalues:txt|csv|json|md(default:"txt")-ovalue,--outputvaluewritetoafile,insteadofSTDOUT--helpshowhelp--version,-vprinttheversionCOPYRIGHT:Copyright(c)2017,2018,voidint.Allrightsreserved.

使用root用户创建一个名为mydb的数据库实例,以及一张student的表。

CREATEDATABASEIFNOTEXISTS`mydb`DEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;USE`mydb`;CREATETABLE`student`(`sno`char(8)NOTNULLCOMMENT'学号',`sname`varchar(255)NOTNULLCOMMENT'姓名',`gender`char(2)DEFAULTNULLCOMMENT'性别',`native`char(20)DEFAULTNULLCOMMENT'籍贯',`birthday`datetimeDEFAULTNULLCOMMENT'出生日期',`dno`char(6)DEFAULTNULLCOMMENT'所在院系',`spno`char(8)DEFAULTNULLCOMMENT'专业代码',`classno`char(4)DEFAULTNULLCOMMENT'班级号',`entime`dateDEFAULTNULLCOMMENT'入校时间',`home`varchar(40)DEFAULTNULLCOMMENT'家庭住址',`tell`varchar(40)DEFAULTNULLCOMMENT'联系电话',PRIMARYKEY(`sno`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='学生信息表';

将目标数据库及其所有表的表结构数据以表格形式输出到console

$tsdump-h127.0.0.1-P3307-urootmydbEnterPassword:|----------|---------------|--------------------||DATABASE|CHARACTERSET|COLLATION||----------|---------------|--------------------||mydb|utf8mb4|utf8mb4_general_ci||----------|---------------|--------------------|TABLE:student学生信息表|----------|--------------|----------|-----|---------|---------------|--------------------|----------||COLUMN|DATATYPE|NULLABLE|KEY|DEFAULT|CHARACTERSET|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-h127.0.0.1-P3307-uroot-Vmd-o./student.mdmydbstudent

output:

DATABASECHARACTERSETCOLLATIONmydbutf8mb4utf8mb4_general_cistudent

学生信息表

COLUMNDATATYPENULLABLEKEYDEFAULTCHARACTERSETCOLLATIONCOMMENTsnochar(8)NOPRI utf8mb4utf8mb4_general_ci学号snamevarchar(255)NO  utf8mb4utf8mb4_general_ci姓名genderchar(2)YES  utf8mb4utf8mb4_general_ci性别nativechar(20)YES  utf8mb4utf8mb4_general_ci籍贯birthdaydatetimeYES    出生日期dnochar(6)YES  utf8mb4utf8mb4_general_ci所在院系spnochar(8)YES  utf8mb4utf8mb4_general_ci专业代码classnochar(4)YES  utf8mb4utf8mb4_general_ci班级号entimedateYES    入校时间homevarchar(40)YES  utf8mb4utf8mb4_general_ci家庭住址tellvarchar(40)YES  utf8mb4utf8mb4_general_ci联系电话

将用户权限范围内数据库及其表结构数据输出到csv文件

$tsdump-h127.0.0.1-P3307-uroot-Vcsv>./mydb.csv

将目标数据库及其所有表的表结构数据输出到JSON文件

$tsdump-h127.0.0.1-P3307-uroot-Vjsonmydb>mydb.json
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论