我有一个包含三个列的csv文件 - 用户名,密码和电子邮件。现在,我在某些其他列中有一个包含wp_user,wp_password,wp_email列的表。我的问题是如何将csv文件中的数据插入到我的表中,映射三列并忽略其他列?
答案 0 :(得分:0)
如果您只是将csv文件导入名为mySourceTable的临时表中,这将起作用:
INSERT INTO myTargetTable (wp_user, wp_password, wp_email)
SELECT username, password, email FROM mySourceTable
EDIT2:
对于mySQL,使用以下命令将数据加载到临时表中:
load data local infile 'source.csv' into table mySourceTable fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(username, password, email)
编辑:
或者,您可以将csv文件用作外部表(对于Oracle。原始问题标记为plsql
):
对于您的CSV文件,您将创建一个与您的文件匹配的数据库目录 已存在的OS目录并授予您的Oracle用户READ和 WRITE访问它:SQL>创建或替换目录my_data_dir为 ' /我的/数据/目录/&#39 ;;目录已创建。
SQL> GRANT读,写ON DIRECTORY my_data_dir TO scott;格兰特 成功了。
然后创建外部表定义
创建外部表定义: CREATE TABLE t1(c1 NUMBER,c2 VARCHAR2(30)) 组织外部 ( 默认目录 my_data_dir
访问参数
( 由换行符字段分隔的记录由','
终止 )
地点 ( ' report.csv' )
);
然后可以在上面的INSERT
语句中使用结果表(t1)。