SQL - Import/Export CSV

Overview

CSV is a common interchange format. Use server commands or client tools to import/export.

-- Import (requires FILE privilege and secure_file_priv)
LOAD DATA INFILE '/path/employees.csv'
INTO TABLE employees
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(first_name, department_id, salary, hired_at);

-- Export
SELECT * FROM employees
INTO OUTFILE '/path/employees_out.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';
-- Export via BCP utility
bcp "SELECT first_name, department_id, salary, hired_at FROM company.dbo.employees" queryout employees.csv -c -t, -S localhost -U sa -P ********

-- Import via BULK INSERT
BULK INSERT dbo.employees
FROM 'C:\\path\\employees.csv'
WITH (FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', TABLOCK);
.mode csv
.import employees.csv employees
.headers on
.once employees_out.csv
SELECT * FROM employees;