- Workbench 8.0: right-click a table in the schema browser and choose Table Data Import Wizard. It reads CSV or JSON files and maps the file to a table, its columns and types.
- Workbench 26.7 is a rebuild, and Oracle's pages do not mention a CSV import wizard for it; Oracle says not every Workbench 8 capability is available yet.
- For any version, LOAD DATA imports a CSV file from SQL. Without LOCAL the file must be on the server host, you need the FILE privilege and secure_file_priv applies.
- For large files, MySQL Shell's util.importTable() splits the file into chunks and loads them in parallel; it needs local_infile set to ON on the server.
MySQL Workbench import CSV: check your version first
How you import a CSV in MySQL Workbench depends on the release. The Table Data Import Wizard is documented in the MySQL Workbench Manual, which covers versions 8.0 through 8.0.47. The current release, 26.7, is a new application built on MySQL Shell. Its product page lists the Script Editor, SQL Notebooks and result editing, but not a CSV import wizard, and Oracle's blog says some Workbench 8 features may not be available yet.
If your Workbench 26.7 build has no import option, use one of the SQL or MySQL Shell methods further down. They are part of MySQL itself and do not depend on the GUI.
| Method | Where it runs | Good for | Limits |
|---|---|---|---|
| Table Data Import Wizard | Workbench 8.0 (end of life) | Small and medium files, new or existing tables | CSV or JSON only; not documented for 26.7 |
| Result grid Import | Workbench 8.0 SQL editor | Adding rows to a query result | Result set needs a primary key or NOT NULL unique index |
| LOAD DATA | Any SQL client, including the Workbench 26.7 Script Editor | Fast loads you can script | File on server host needs FILE privilege; secure_file_priv applies |
| util.importTable() | MySQL Shell | Large files, parallel loading | Needs local_infile ON and a classic connection |
Sample CSV file and target table
The examples use this small file, saved as customers.csv with a header row, and a matching table. Save the file as UTF-8; the manual notes that the wizard's encoding setting must correspond with your file.
customer_id,full_name,email,signup_date
1,Ana Lopez,ana@example.com,2026-01-15
2,"Smith, John",john@example.com,2026-02-03
3,Mei Chen,mei@example.com,2026-03-21CREATE TABLE customers (
customer_id INT NOT NULL,
full_name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
signup_date DATE NOT NULL,
PRIMARY KEY (customer_id)
);Table Data Import Wizard steps (Workbench 8.0)
The manual describes the wizard as supporting CSV and JSON files with options for separators, column selection and encoding, against local or remote servers, with table, column and type mapping. The steps are:
- In the Navigator schema browser, right-click a table and choose Table Data Import Wizard.
- On the source page, select
customers.csv. - On the destination page, choose the table that receives the data.
- On the CSV configuration page, check the separators, the columns to import and the Encoding, and the mapping of columns and types.
- Run the import and review the results page.
You can also import into an open query result: the result grid has an Import button that reads records from a CSV file. The manual notes that the result set needs a unique row identifier, such as a primary key or a NOT NULL unique index, otherwise it is read-only.
Import CSV with LOAD DATA
The MySQL 8.4 Reference Manual describes LOAD DATA as reading rows from a text file into a table at a very high speed. Without LOCAL, the server reads the file from the server host, so you need the FILE privilege and, if secure_file_priv names a directory, the file must be in that directory. The IGNORE 1 LINES clause skips the header row, and OPTIONALLY ENCLOSED BY '"' handles quoted values such as "Smith, John".
LOAD DATA LOCAL reads the file from the client machine instead, but the server's local_infile variable is disabled by default and the client must allow it too. Oracle does not document whether the Workbench 26.7 editor enables local loading, so use the server-side form or MySQL Shell if you are unsure.
LOAD DATA INFILE '/path/allowed/by/secure_file_priv/customers.csv'
INTO TABLE customers
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;Large files: MySQL Shell parallel table import
MySQL Shell, the foundation Workbench 26 is built on, includes util.importTable(). The MySQL Shell manual says it analyses the input file, splits it into chunks and uploads them over parallel connections. It uses LOAD DATA LOCAL INFILE internally, so local_infile must be ON on the target server, and it needs a classic MySQL protocol connection. The csv-unix dialect is defined for comma-separated files with LF line endings, and skipRows: 1 skips the header.
SET GLOBAL local_infile = 1;util.importTable("/home/user/customers.csv", {schema: "mydb", table: "customers", dialect: "csv-unix", skipRows: 1, showProgress: true})Frequently asked questions
Where is the Table Data Import Wizard in MySQL Workbench?
In Workbench 8.0, right-click a table in the schema browser and choose Table Data Import Wizard. Oracle does not document the wizard for Workbench 26.7.
Why is the MySQL Workbench CSV import so slow?
Oracle does not publish speed figures for the wizard; the manual describes it as a method for simple table operations. For big files, the reference manual describes LOAD DATA as very fast, and the MySQL Shell manual says util.importTable() can be many times faster than a single-threaded LOAD DATA.
How do I skip the header row when importing a CSV?
With LOAD DATA, add IGNORE 1 LINES. With MySQL Shell, pass skipRows: 1.
Can MySQL Workbench import Excel files?
The documented import formats are CSV and JSON. Save the sheet as CSV (UTF-8) from your spreadsheet program first.
Why does LOAD DATA fail because of secure_file_priv?
When secure_file_priv names a directory, the server reads files for LOAD DATA (without LOCAL) only from that directory. Move the CSV there, or load it from the client with MySQL Shell.
Sources
- MySQL Workbench product page (Oracle)
- Introducing MySQL Workbench 26 (Oracle MySQL blog)
- MySQL Workbench Manual (8.0 through 8.0.47)
- MySQL Workbench Manual: Table Data Export and Import Wizard
- MySQL Workbench Manual: Data Export and Import
- MySQL Workbench Manual: Result Data Export and Import
- MySQL 8.4 Reference Manual: LOAD DATA Statement
- MySQL 8.4 Reference Manual: Security Considerations for LOAD DATA LOCAL
- MySQL Shell manual: Parallel Table Import Utility
Checked 8 October 2026.
How we research tool guides: our editorial method. CodeWithSQL earns nothing from the vendors mentioned.