It is possible to use a stored procedure for this combined with SUBSTRING_INDEX. Keep in mind that if your CSV is too large you may want to use LOCATE and SUBSTRING instead. Here is a simple one for reference:
CREATE PROCEDURE load_csv (IN `icsv` MEDIUMTEXT)
MOD_SP
BEGIN
DECLARE csv MEDIUMBLOB;
DECLARE csv_begin INTEGER DEFAULT 1;
DECLARE csv_end INTEGER;
DECLARE csv_size INTEGER;
SET csv = COALESCE(`icsv`,'');
SET csv_size = LENGTH(csv);
WHILE csv_begin < csv_size DO
SET csv_end = LOCATE('\n',csv,csv_begin);
SET csv_end = IF(csv_end != 0,csv_end,csv_size+1);
SET pbegin = pend+1;
INSERT INTO mytable (field1, field2, field3, field4, field5) VALUES (
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(policy FROM pbegin FOR pend-pbegin),',',1),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(policy FROM pbegin FOR pend-pbegin),',',2),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(policy FROM pbegin FOR pend-pbegin),',',3),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(policy FROM pbegin FOR pend-pbegin),',',4),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(policy FROM pbegin FOR pend-pbegin),',',5),-1)
)
END WHILE;
END //
You can make this a bit faster though with some optimizations, in particular caching the csv line and using some properties of SUBSTRING_INDEX to get the smallest string.
CREATE PROCEDURE load_csv (IN `icsv` MEDIUMTEXT)
MOD_SP
BEGIN
DECLARE csv MEDIUMBLOB;
DECLARE csv_line MEDIUMBLOB;
DECLARE csv_begin INTEGER DEFAULT 1;
DECLARE csv_end INTEGER;
DECLARE csv_size INTEGER;
SET csv = COALESCE(`icsv`,'');
SET csv_size = LENGTH(csv);
WHILE csv_begin < csv_size DO
SET csv_end = LOCATE('\n',csv,csv_begin);
SET csv_end = IF(csv_end != 0,csv_end,csv_size+1);
SET csv_line = SUBSTRING(policy FROM pbegin FOR pend-pbegin);
SET pbegin = pend+1;
INSERT INTO mytable (field1, field2, field3, field4, field5) VALUES (
SUBSTRING_INDEX(csv_line,',',1),
SUBSTRING_INDEX(SUBSTRING_INDEX(csv_line,',',2),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(csv_line,',',3),-1),
SUBSTRING_INDEX(SUBSTRING_INDEX(csv_line,',',-2),1),
SUBSTRING_INDEX(csv_line,',',-1)
)
END WHILE;
END //
Finally you can even use a mix of locate and substrings for the commas themselves if your lines are particularly long but I don't have time to write this example.