
Loading a CSV Into MySQL Workbench Versus the Command Line
Use a GUI import wizard for small files and LOAD DATA for big ones. See the measured gap between row at a time and bulk loading, and what a GUI sends.
Tag
44 posts

Use a GUI import wizard for small files and LOAD DATA for big ones. See the measured gap between row at a time and bulk loading, and what a GUI sends.

MySQL rejects a US date with error 1292 on a server load and stores a zero date on a LOCAL load. See both, the STR_TO_DATE fix, and how to find zero dates.

Skip, reorder and compute columns in LOAD DATA with a column list, user variables and SET, plus the silent shift a short column list causes.

Skip a header with IGNORE 1 LINES, then handle doubled quotes, backslashes, embedded newlines and Windows line endings that LOAD DATA treats differently.

Two switches control LOAD DATA LOCAL, one on the server and one on the client, each failing with its own error code. Enable both safely and know the risk.

Error 1290 blocks LOAD DATA INFILE and INTO OUTFILE outside one directory. Find the allowed path, move the file there, or switch to LOCAL and know the cost.

Every clause of LOAD DATA INFILE that matters for a CSV, from the tab default to NULL handling, with the output of each variant on MySQL 8.4.

LOAD DATA LOCAL turns bad values into warnings and still reports success. Import a CSV into MySQL safely, with a script that checks before it swaps.

Stream a CSV from a web address straight into COPY with curl. See what a 404 and a cut off download do to a plain pipe, and the guards that fix it.

Stream a gzipped CSV into PostgreSQL with gunzip and COPY, time it against unpacking first, and see what a truncated archive does to a pipe.

PostgreSQL 17 can skip rows with bad values during COPY. See ON_ERROR, REJECT_LIMIT and verbose logging in action, and the errors they do not cover.

PostgreSQL loads an unquoted empty field as NULL and a quoted one as an empty string. See the options that change that and the integer error one causes.