Есть ли инструмент, который может экспортировать или импортировать объект из базы данных - PullRequest
0 голосов
/ 07 марта 2019

Объект, на который я ссылаюсь, относится к сущности в модели данных.

Например, это таблицы в моей базе данных:

-- ----------------------------
-- student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `student_no` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `gender` tinyint(1) NOT NULL,
  `age` tinyint(3) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `student` VALUES ('1', '19001', 'John', '1', '13');
INSERT INTO `student` VALUES ('2', '19002', 'Mary', '2', '12');
INSERT INTO `student` VALUES ('3', '19003', 'Tom', '1', '13');

-- ----------------------------
-- course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `course` VALUES ('1', 'C1');
INSERT INTO `course` VALUES ('2', 'C2');
INSERT INTO `course` VALUES ('3', 'C3');

-- ----------------------------
-- score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `course_id` int(11) NOT NULL,
  `student_id` int(11) NOT NULL,
  `score` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `score` VALUES ('1', '1', '1', '100');
INSERT INTO `score` VALUES ('2', '1', '2', '96');
INSERT INTO `score` VALUES ('3', '2', '1', '77');

Сущность Student включает все связанные данныес ним.

Я хочу экспортировать студенческую сущность по имени Мэри, включая все связанные с ней данные (курсы, оценки)

Через инструмент я хочу получить вывод, подобный следующему:

1.json-подобные форматы:

{
    "id": 2,
    "student_no": 19002,
    "name": "Mary",
    "gender": 2,
    "age": 12,
    "score": [
        {
            "id": 2,
            "course_id": 1,
            "student_id": 2,
            "score": 96
        }
    ]
}

2.INSERT statments

INSERT INTO `student` (`id`, `student_no`, `name`, `gender`, `age`) VALUES ('2', '19002', 'Mary', '2', '12');

INSERT INTO `score` (`id`, `course_id`, `student_id`, `score`) VALUES ('2', '1', '2', '96');

Любой из двух вышеупомянутых форматов может помочь в достижении моей цели.

цель

Данные, связанные с Мэри, - это запись студента и записи ее оценки курса.поэтому я надеюсь, что этот инструмент поможет мне перенести данные из одной базы данных в другую или легко удалить любые связанные с ней записи о Марии в базе данных вместо того, чтобы самому писать оператор SQL.

Существует ли такой инструмент?Инструмент должен быть настраиваемым без написания кода для определения таблиц, участвующих в сущности, и связанных полей между ними.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...