, , , SQL-. , DBS .
CSV MySQL SQL
LOAD DATA INFILE 'data.csv'
INTO TABLE tmp_import
, CSV, :
data.csv - , , , .
, , csv ( )
WTW-2LT, Alex, Johnson, subj_code1, ..., lec_name1, ...
WTW-2LT, Alex, Johnson, subj_code1, ..., lec_name2, ...
WTW-2LT, Alex, Johnson, subj_code2, ..., lec_name3, ...
WTW-2LU, John, Doe, subj_code3, ..., lec_name4, ...
:
SELECT member_code, name, surname
FROM tmp_import
GROUP BY member_code, name, surname
member_code - , GROUP BY member_code MySQL. DBS , .
, :
SELECT subj_code, subj_title, member_code
FROM tmp_import
GROUP BY subj_code
SELECT lec_code, lec_name, subj_code
FROM tmp_import
GROUP BY lec_code
, subj_code lec_code .
, MySQL CREATE TABLE ... SELECT -syntax,
CREATE TABLE tmp_import_members
SELECT member_code, name, surname
FROM tmp_import
GROUP BY member_code, name, surname
:
INSERT INTO members (member_code, name, surname)
SELECT member_code, name, surname
FROM tmp_import_members
WHERE tmp_import_members.member_code NOT IN (
SELECT member_code FROM members WHERE member_code IS NOT NULL
);
UPDATE members
JOIN tmp_import_members ON
members.member_code = tmp_import_members.members_code
SET
members.name = tmp_import_members.name,
members.surname = tmp_import_members.surname;
.
: CSV , 3 3 .
, , MySQL NOT IN JOIN .