Это большая работа (много данных) или вы просто новичок в ней?
Если у вас много данных, подумайте о том, чтобы манипулировать вашими файлами для выполнения ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ или, если у вас действительно есть манипуляции с лотом, рассмотрите 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`;
Я не проверял все это, но, надеюсь, это укажет вам правильное направление.
Удачи.