Skip to content
Guide · DBeaver

How to Import CSV in DBeaver

DBeaver imports CSV files into new or existing tables through its Import Data wizard, which is included in the free Community Edition. This guide walks through each page of the wizard as DBeaver documents it, with a small sample file you can copy, and explains the settings that cause most failed imports.

Steps and facts checked 8 October 2026 against the vendor's official documentation. Versions covered: DBeaver Community 26.2.2. Next review due April 2027. Menus, shortcuts and prices change between releases; check the vendor's documentation for your version.
Short answer
  • Right-click the target table in the Connections view, choose Import Data, pick CSV, select the file, check the importer settings, map columns, set load options and select Proceed.
  • CSV import works in DBeaver Community; importing XLSX and XML files is marked as a PRO feature in DBeaver's data transfer documentation.
  • Most errors come from three settings: the column delimiter, the header position and the date/time format, which uses Java DateTimeFormatter patterns (MM is month, mm is minutes).
  • The import runs in the background and can be saved as a task to repeat it later.
How we know: Research-based: wizard pages, option names and edition notes were checked against the DBeaver documentation (Data import, Data transfer, Data migration, Data import and replace, CSV driver) on 8 October 2026. We have not run this import for the guide; the sample file is a minimal illustration, and DBeaver's labels can change between versions.

Before you import: the file and the target table

A DBeaver import CSV job needs a connection to the target database (see our guides for PostgreSQL and MySQL) and a CSV file with a consistent delimiter and, ideally, a header row. You can import into an existing table, or let DBeaver create a new one during mapping. Creating the table yourself first gives you control over data types and keys.

The sample below is a small file you can save as customers.csv to practise, with a matching table definition. The dates use the ISO format yyyy-MM-dd, and the empty email on the third row shows how NULL handling works.

customers.csv (sample data, UTF-8, comma-delimited, header row)
customer_id,full_name,email,signup_date
1,Ada Lovelace,ada@example.com,2026-01-15
2,"Grace Hopper, Rear Admiral",grace@example.com,2026-02-03
3,Edgar Codd,,2026-03-21
Target table (PostgreSQL or MySQL)
CREATE TABLE customers (
    customer_id  INTEGER PRIMARY KEY,
    full_name    VARCHAR(100) NOT NULL,
    email        VARCHAR(255),
    signup_date  DATE
);

Import a CSV file with the DBeaver Import Data wizard

These are the steps from DBeaver's Data import documentation:

  1. In the Connections view, right-click the target table (you can select several) and choose Import Data.
  2. Choose CSV and select Next.
  3. Choose the file to import, check the importer settings (next section) and select Next.
  4. Set the CSV-to-table mappings: check that each source column points at the right target column and type.
  5. Choose the data load settings and select Next.
  6. Review the summary; use Back to fix anything, then select Proceed. Save turns the configuration into a reusable task.

The import runs in the background, and DBeaver shows a notification when it completes. DBeaver advises against changing data in the tables involved until the transfer finishes.

CSV importer settings that matter

The importer settings page decides how DBeaver parses the file. The defaults suit a comma-separated UTF-8 file with a header row; change them when your file differs.

Main CSV import settings (from the DBeaver Data import documentation)
SettingWhat it doesTypical value
EncodingCharacter encoding of the fileUTF-8
Column delimiterCharacter between columns; special symbols such as \t (tab) are allowed, or ; or \t
Header positionWhether the first row holds column names (top) or there is no headertop
Quote charCharacter that wraps values containing the delimiter"
NULL value markText imported as NULLEmpty or NULL
Set empty strings to NULLConverts empty values to NULL instead of empty stringsOn for optional columns
Date/time formatJava DateTimeFormatter pattern used to read datesyyyy-MM-dd
Trim whitespacesRemoves spaces around values to prevent parsing errorsOn
Timezone IDTime zone for date and time values; local by defaultUTC
Sample rows countRows analysed to guess column types and lengths for new tablesIncrease for varied data

Column mapping and data load options

On the mapping page, each target shows a state. DBeaver's mapping guide describes them: Existing when the target name matches a table, Create when it does not (DBeaver creates the table during the transfer), Skip to leave a table out, and Recreate, which drops and recreates the target and can lose existing data, keys and indexes. Check the target data types before you continue; types supported in one database may not exist in another.

Useful data load settings include:

  • Truncate target table(s) before load: clears the table first; DBeaver's documentation tells you to be very careful with it.
  • Replace method: for duplicate keys, some databases offer options such as INSERT IGNORE or REPLACE INTO, depending on what the target supports.
  • Use transactions and Do Commit after row insert: control how often rows are committed.
  • Disable batches: imports row by row; slower, but shows every import error.
  • Use bulk load: uses the database's native bulk mechanism where the target supports it, for large files.

When a DBeaver CSV import fails

  • Everything lands in one column: the delimiter is wrong. Files exported from spreadsheets in some locales use semicolons.
  • Date parse errors: the date/time format does not match the file. DBeaver's documentation warns about confusing MM (month) with mm (minutes).
  • Garbled accented characters: set the correct encoding.
  • Duplicate key errors: choose a replace method, or clean the file; turn on Disable batches to see which rows fail.
  • First data row missing or header imported as data: check Header position.

If you only need to query a CSV file, not load it, DBeaver also has file drivers that open CSV files as read-only tables. The full CSV Pro driver is part of the paid editions; DBeaver documents a simpler legacy CSV driver in Community. To move data the other way, see exporting query results to CSV or Excel.

Frequently asked questions

Can DBeaver Community import CSV files?

Yes. CSV import through the Import Data wizard is part of the free Community Edition. DBeaver's documentation marks XLSX and XML import as PRO features.

Can DBeaver create the table from a CSV file?

Yes. If the target name on the mapping page does not match an existing table, the mapping state is Create and DBeaver creates the table during the import, guessing column types from a sample of rows. Review the target types before you proceed.

How do I import a CSV with semicolons or tabs?

Change Column delimiter on the importer settings page. DBeaver accepts special symbols such as \t for tab.

How do I import empty CSV values as NULL?

Turn on Set empty strings to NULL, or set a NULL value mark that matches how your file represents missing values.

Can I repeat the same import later?

Yes. Select Save on the final page to store the configuration as a task, which you can run again from DBeaver's task management.

Sources

Checked 8 October 2026.

How we research tool guides: our editorial method. CodeWithSQL earns nothing from the vendors mentioned.

Still choosing a SQL client?

Read the full reviews, or compare tools side by side.