Примечание: master-ветка может находиться в разработке и быть нестабильной версией. Рекомендуется загрузить стабильную версию исходного кода через тег или уже скомпилированный исполняемый файл через релиз.
Программа tsdump поддерживает вывод метаданных базы данных (в настоящее время поддерживается только MySQL) и структуры её таблиц в форматах text, markdown, json, csv и xlsx.
Установка из исходного кода:
$ GO111MODULE=on GOPROXY=https://goproxy.cn go install -v github.com/voidint/tsdump@v0.5.0
Установка бинарного файла: Скачать
$ tsdump --help
NAME:
tsdump - инструмент для выгрузки структуры таблиц баз данных.
USAGE:
tsdump [OPTIONS] [database [table ...]]
VERSION:
0.5.0
AUTHOR:
voidint <voidint@126.com>
OPTIONS:
-D, --debug включить режим отладки
-h value, --host value подключиться к хосту (по умолчанию: "127.0.0.1")
-P value, --port value номер порта для подключения (по умолчанию: 3306)
-S value, --socket value файл сокета для подключения
-u value, --user value пользователь для входа, если не текущий пользователь (по умолчанию: "voidint")
-p value, --password value пароль для использования при подключении к серверу. Если пароль не указан, он запрашивается на tty.
-V value, --viewer value средство просмотра вывода. Необязательные значения: csv|json|md|xlsx|txt (по умолчанию: "txt")
-o value, --output value записать в файл вместо STDOUT
-s, --sorted отсортировать столбцы таблицы
--help показать справку
--version, -v вывести версию
COPYRIGHT:
Copyright (c) 2017-2021, voidint. Все права защищены.
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='学生信息表';
$ 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 | символ(6) | ДА | | | utf8mb4 | utf8mb4_general_ci | 所在院系 |
| spno | символ(8) | ДА | | | utf8mb4 | utf8mb4_general_ci | 专业代码 |
| classno | символ(4) | ДА | | | utf8mb4 | utf8mb4_general_ci | 班级号 |
| entime | дата | ДА | | | | | 入校时间 |
| home | varchar(40) | ДА | | | utf8mb4 | utf8mb4_general_ci | 家庭住址 |
| tell | varchar(40) | ДА | | | 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) | НЕТ | PRI | utf8mb4 | utf8mb4_general_ci | 学号 | |
sname | varchar(255) | НЕТ | utf8mb4 | utf8mb4_general_ci | 姓名 | ||
gender | char(2) | ДА | utf8mb4 | utf8mb4_general_ci | 性别 | ||
native | char(20) | ДА | utf8mb4 | utf8mb4_general_ci | 籍贯 | ||
birthday | datetime | ДА | 出生日期 | ||||
dno | char(6) | ДА | utf8mb4 | utf8mb4_general_ci | 所在院系 | ||
spno | char(8) | ДА | utf8mb4 | utf8mb4_general_ci | 专业代码 | ||
classno | char(4) | ДА | utf8mb4 | utf8mb4_general_ci | 班级号 | ||
entime | date | ДА | 入校时间 | ||||
home | varchar(40) | ДА | utf8mb4 | utf8mb4_general_ci | 家庭住址 | ||
tell | varchar(40) | ДА | 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
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )