导入csv文件到数据库表
时间: 2023-08-12 09:03:21 浏览: 101
好的,以下是一些常见数据库管理系统的导入CSV文件到数据库表的示例操作步骤:
MySQL:
1. 使用 LOAD DATA INFILE 命令导入数据,示例语句如下:
```
LOAD DATA INFILE 'filename.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
```
其中,filename.csv 是要导入的 CSV 文件名,tablename 是要导入数据的表名,FIELDS TERMINATED BY ',' 表示字段之间用逗号分隔,ENCLOSED BY '"' 表示字段值用双引号括起来,LINES TERMINATED BY '\n' 表示行之间用换行符分隔,IGNORE 1 ROWS 表示忽略 CSV 文件中的第一行表头。
2. 使用 LOAD DATA LOCAL INFILE 命令导入本地 CSV 文件(需要先启用 local_infile 参数),示例语句如下:
```
SET GLOBAL local_infile = 1;
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
```
PostgreSQL:
1. 使用 COPY 命令导入数据,示例语句如下:
```
COPY tablename FROM 'filename.csv' WITH CSV HEADER DELIMITER ',' QUOTE '"' ESCAPE '\';
```
其中,filename.csv 是要导入的 CSV 文件名,tablename 是要导入数据的表名,WITH CSV HEADER 表示 CSV 文件中包含表头,DELIMITER ',' 表示字段之间用逗号分隔,QUOTE '"' 表示字段值用双引号括起来,ESCAPE '\' 表示转义字符为反斜杠。
2. 使用 \copy 命令导入本地 CSV 文件,示例语句如下:
```
\copy tablename FROM 'filename.csv' WITH CSV HEADER DELIMITER ',' QUOTE '"' ESCAPE '\';
```
Oracle:
1. 使用 SQL*Loader 工具导入数据,示例语句如下:
```
LOAD DATA
INFILE 'filename.csv'
INTO TABLE tablename
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS;
```
其中,filename.csv 是要导入的 CSV 文件名,tablename 是要导入数据的表名,FIELDS TERMINATED BY ',' 表示字段之间用逗号分隔,OPTIONALLY ENCLOSED BY '"' 表示字段值用双引号括起来,TRAILING NULLCOLS 表示忽略 CSV 文件中的空列。
2. 使用外部表(External Table)导入数据,示例语句如下:
```
CREATE TABLE tablename_external (
column1 datatype1,
column2 datatype2,
column3 datatype3
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY dir_name
ACCESS PARAMETERS (
RECORDS DELIMITED BY '\n'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
MISSING FIELD VALUES ARE NULL
)
LOCATION ('filename.csv')
)
REJECT LIMIT UNLIMITED;
```
其中,dir_name 是 Oracle 目录的名称,filename.csv 是要导入的 CSV 文件名,ACCESS PARAMETERS 中的参数与上述 SQL*Loader 工具中的参数相同,REJECT LIMIT UNLIMITED 表示导入时出现错误时不限制错误数。
阅读全文