С чего начать преобразование текстовых файлов в базу данных? - PullRequest
0 голосов
/ 26 марта 2012

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

Я знаю, что мне нужно проанализировать текстовые файлы и вставить их в базу данных, ноБольшая часть информации, которую я нашел в Интернете, указывает на наличие какого-то SQL-сервера в сети.Как мне разобрать текстовые файлы и вставить их в базу данных, а взамен перенести их на веб-сайт?С чего начать, было бы здорово, я полностью потерян):

Я немного знаком с Java и Python и знаком с CSS / HTML.

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

MySQL полнотекстовый поиск - первое, что нужно попробовать.Это может быть достаточно хорошо для того, что вам нужно.Используйте этот пример в качестве шаблона для того, что вам, вероятно, нужно.

Короче говоря, вы можете вообще не анализировать файлы.Просто укажите название документа и тело документа и вставьте их в виде двух отдельных полей в строку таблицы.Если есть форматирование или другой мета-контент, возможно, удалите его перед вставкой.

0 голосов
/ 26 марта 2012

Это большая работа (много данных) или вы просто новичок в ней?

Если у вас много данных, подумайте о том, чтобы манипулировать вашими файлами для выполнения ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ или, если у вас действительно есть манипуляции с лотом, рассмотрите Jasper / Talend ETL , но я думаю, что перебор.


После прочтения ваших комментариев я написал несколько сценариев.

Войти через клиент MySQL или с верстаком

CREATE DATABASE IF NOT EXISTS `test`;
USE test;

Попробуйте это

DROP TABLE IF EXISTS `test`.`user`;
CREATE TABLE `test`.`user` (
  `userid` INT NOT NULL AUTO_INCREMENT   ,
  `firstname` VARCHAR(45) NOT NULL ,
  `lastname` VARCHAR(45) NOT NULL ,
  `jobdescription` TEXT NULL,
  `childhooddescription` TEXT NULL,
  PRIMARY KEY (`userid`)
);


DROP TABLE IF EXISTS `test`.`tempuser`;
CREATE  TABLE `test`.`tempuser` (
  `fullname` VARCHAR(90) NOT NULL,
  PRIMARY KEY (`fullname`)
);

-- Examples you can use
-- INSERT INTO `test`.`user` (`firstname`,`lastname`) VALUES ("bob","jones");
-- INSERT INTO `test`.`tempuser` (`fullname`) VALUES ("JOHN DOE");

INSERT INTO `test`.`user`(
  `firstname`,
  `lastname`
)
SELECT
  SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS firstname,
  SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1) AS lastname
FROM
  tempuser;


SELECT * FROM `user`;

DROP TABLE IF EXISTS `tempuser`;

Тогда эти

DROP TABLE IF EXISTS `test`.`tempjop`;
CREATE  TABLE `test`.`tempjop` (
  `fullname` VARCHAR(45) NOT NULL,
  `description` TEXT NOT NULL
);

-- Example
-- INSERT INTO `test`.`tempjop` (`fullname`, `description`) VALUES ("JOHN DOE", "John is a programmer");


LOAD DATA INFILE 'C:/Temp/Job.txt' INTO TABLE tempjop
     FIELDS
         TERMINATED BY ':' OPTIONALLY ENCLOSED BY '"'
     LINES
         TERMINATED BY '\r\n';

SELECT
    *
FROM
    `tempjop`
;

UPDATE
    `user` AS U, 
    `tempjop` AS J
SET
    U.jobdescription = J.description
WHERE
    J.fullname = CONCAT(CONCAT(U.firstname, ' '), U.lastname)
    -- If you need first names only like 'MARY' uncomment this
    -- OR J.fullname = U.firstname;
;

SELECT * FROM `user`;

DROP TABLE IF EXISTS `tempjop`;

Я не проверял все это, но, надеюсь, это укажет вам правильное направление.

Удачи.

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